Hibernate――ORMapping(七)

2015-07-24 11:34:32 · 作者: · 浏览: 34
tName() { return name; } public void setName(String name) { this.name = name; } }

iii、观察生成的sql

Hibernate: create table t_group (id integer not null auto_increment, name varchar(255), primary key (id))

Hibernate: create table t_user (id integer not null auto_increment, name varchar(255), groupId integer, primary key (id))

Hibernate: alter table t_user add constraint FK_7ktm6l2qkykpqrf6oq01ys8wy foreign key (groupId) references t_group (id)

二、Xml配置

i、Group.hbm.xml
































ii、User.hbm.xml





















iii、观察生成的sql语句

Hibernate: create table t_group (id integer not null auto_increment, name varchar(255), primary key (id))

Hibernate: create table t_user (id integer not null auto_increment, name varchar(255), groupId integer, primary key (id))

Hibernate: alter table t_user add constraint FK_7ktm6l2qkykpqrf6oq01ys8wy foreign key (groupId) references t_group (id)




C、一对多,多对一双向关联

一、Annotation配置

1.Group.java

package com.zgy.hibernate.model;



import java.util.HashSet;

import java.util.Set;



import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.OneToMany;

import javax.persistence.Table;

@Entity

@Table(name="t_group")

public class Group {

private int id;

private String name;

private Set users = new HashSet();

@Id

@GeneratedValue

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@OneToMany(mappedBy="group")

@JoinColumn(name="groupId")

public Set getUsers() {

return users;

}

public void setUsers(Set users) {

this.users = users;

}





}

2.User.java

package com.zgy.hibernate.model;



import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.ManyToOne;

import javax.persistence.Table;

@Entity

@Table(name="t_user")

public class User {

private int id;

private String name;

private Group group;

@Id

@GeneratedValue

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}



public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@ManyToOne

public Group getGroup() {

return group;

}

public void setGroup(Group group) {

this.group = group;

}



}

3.查看生成的sql语句

Hibernate: create table t_group (id integer not null auto_increment, name varchar(255), primary key (id))

Hibernate: create table t_user (id integer not null auto_increment, name varchar(255), groupId integer, primary key (id))

Hibernate: alter table t_user add constraint FK_7ktm6l2qkykpqrf6oq01ys8wy foreign key (groupId) references t_group (id)

二、Xml配置

1.Group.hbm.xml































2.User.hbm.xml