当前页面: 开发资料首页 → Eclipse 专题 → Eclipse快速上手Hibernate--7. 关联映射(一对多) (1)
摘要: Eclipse快速上手Hibernate--7. 关联映射(一对多) (1)
Room.java
package javamxj.hibernate.association.one2many;
import java.util.HashSet;
import java.util.Set;
/**
* @hibernate.class table = "T_Room"
*/
public class Room {
private Long id;
private String address;
private Set users = new HashSet();
/**
* @hibernate.id
*column="ID"
*generator-class="hilo"
*unsaved-value="null"
*/
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
/**
* @hibernate.property length = "24"
*/
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
/**
* @hibernate.collection-one-to-many
* class = "javamxj.hibernate.association.one2many.User"
* @hibernate.collection-key
* column = "Room_ID"
* @hibernate.set
* cascade = "all"
* table = "T_User"
*/
public Set getUsers() {
return users;
}
public void setUsers(Set users) {
this.users = users;
}
}User.java
package javamxj.hibernate.association.one2many;
/**
* @hibernate.class table = "T_User"
*/
public class User {
private Long id;
private String name;
/**
* @hibernate.id
*column="ID"
*generator-class="hilo"
*unsaved-value="null"
*/
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
/**
* @hibernate.property length = "24"
*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}Demo.java
/*
* Hibernate - 关联(Association)映射(一对多)
* 创建日期 2005-4-27
* @author javamxj(分享java快乐)
* @link Blog: htpp://blog.csdn.net/javamxj/
* htpp://javamxj.mblogger.cn
*/
package javamxj.hibernate.association.one2many;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
public class Demo {
public static void main(String[] args) throws HibernateException {
User user1 = new User();
user1.setName("张三");
User user2 = new User();
user2.setName("李四");
User user3 = new User();
user3.setName("王二");
Room room1 = new Room();
room1.setAddress("科研007");
room1.getUsers().add(user1);
room1.getUsers().add(user2);
Room room2 = new Room();
room2.setAddress("销售001");
room2.getUsers().add(user3);
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
session.save(room1);
session.save(room2);
tx.commit();
session.close();
sessionFactory.close();
}
}