
本站地址:http://www.bajiao123.com

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类的方式,其中@hibernate.collection-key 表明在T_User表定义了外键Room_ID。通过这个外键来反映一对多关系。
· 同样,在这个包下新建一个User类。
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; } }
3. 运行任务
· 复制《Eclipse快速上手Hibernate--4. 继承映射(1)》文中的build.xml到项目根目录下。
· 双击“generate-hbm”任务,会发现在包中产生了Room.hbm.xml和User.hbm.xml文件,在src目录下会多了一个hibernate.cfg.xml文件,如果没有,按F5键刷新一下。
· 看看Room类的映射文件中的有关一对多关联部分:
本站地址:http://www.bajiao123.com

