Hibernate入门之关系篇:多对一和一对多映射
生活随笔
收集整理的這篇文章主要介紹了
Hibernate入门之关系篇:多对一和一对多映射
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關聯關系映射,是對象映射關系中相對復雜的一種,但也是用處最多的一種,因為數據中的表不可能都是單獨存在,彼此之間必定存在千絲萬縷的聯系,這也是關系型數據庫的特征所在。同樣關聯關系的映射,也是對象關系映射中的難點,重點,仔細揣摩,也還是很容易理解掌握的。
???????? 上篇博客,從最簡單的一對一映射開始最開端。在關系映射里面,使用頻率最高的就是,一對多和多對一的關系。本文,介紹簡單的一對多和多對一關系的實現。
?
? ? ? ? ?一對多關系的建立:
???????? (1)建立實體類
?
public class Classes { private int id; private String name; private Set students;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;}public Set getStudents() {return students;}public void setStudents(Set students) {this.students = students;} }public class Student {private int id; private String name; private Classes classes;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;}public Classes getClasses() {return classes;}public void setClasses(Classes classes) {this.classes = classes;}}?
?
(2)建立配置文件:
<class name="com.zs.hibernate.Classes" table="t_classes"><id name="id"><generator class="native"/></id><property name="name"/><set name="students" inverse="true"> <key column="classesid"/><one-to-many class="com.zs.hibernate.Student"/></set></class><class name="com.zs.hibernate.Student" table="t_student"><id name="id"><generator class="native"/></id><property name="name"/><many-to-one name="classes" column="classesid"/></class>?
多對一關系:
(1)??????建立實體(代碼略)
?
(2)??????配置文件
<class name="com.zs.hibernate.User" table="t_user"><id name="id"><generator class="native"/></id><property name="name"/><set name="roles" table="t_user_role"><key column="user_id"/><many-to-many class="com.zs.hibernate.Role" column="role_id" /> </set></class><class name="com.zs.hibernate.Role" table="t_role"><id name="id"><generator class="native"/></id><property name="name"/></class>?
(3)??????生成表關系
?
其中多對一關系,同一對一映射的外鍵關聯基本上差不多,只是一對一映射,又加入唯一性的約束。
???????? 之所以兩種關系寫在一起,由于兩種關系生成的表關系相同,在物理模型方面,維護方式相同。但是從對象方面考慮,一對多關系,是利用set儲存多個一的對象,維護的重點在與多的一端,而多對一維護的重點在一的一端
總結
以上是生活随笔為你收集整理的Hibernate入门之关系篇:多对一和一对多映射的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hive 常见问题与技巧【Updatin
- 下一篇: mongodb java driver