Hibernate关于父类子类的映射
生活随笔
收集整理的這篇文章主要介紹了
Hibernate关于父类子类的映射
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
怕忘記,把栗子貼上來
以Person類和Student類為例
public class Person {private Integer id;private String name;private int age;//省略setter、getter代碼 }?
public class Student extends Person {private String school;//省略setter、getter代碼 }第一種方式:只有一張表的
直接貼映射文件內容
<hibernate-mapping package="com.zcd.exercise.subclass"><class name="Person" table="PERSONS" discriminator-value="PERSON"><id name="id" type="java.lang.Integer"><column name="ID" /><generator class="native" /></id><discriminator type="string"><column name="TYPE"></column></discriminator><property name="name" type="java.lang.String"><column name="NAME" /></property><property name="age" type="int"><column name="AGE" /></property><subclass name="Student" discriminator-value="STUDENT"><property name="school" type="string" column="SCHOOL"></property></subclass></class> </hibernate-mapping>第二種方式:分兩張表存儲
<hibernate-mapping package="com.zcd.exercise.unionSubclass"><class name="Person" table="PERSONS"><id name="id" type="java.lang.Integer"><column name="ID" /><generator class="hilo" /></id><property name="name" type="java.lang.String"><column name="NAME" /></property><property name="age" type="int"><column name="AGE" /></property><union-subclass name="Student" table="STUDENTS"><property name="school" type="string"><column name="SCHOOL"></column></property></union-subclass></class> </hibernate-mapping>?第三種方式:也是分兩張表但是會把子類特有的屬性單獨存放在一張表,也就是相當于把一條記錄拆開放在兩張表中。
<hibernate-mapping package="com.zcd.exercise.joinedSubclass"><class name="Person" table="PERSONS"><id name="id" type="java.lang.Integer"><column name="ID" /><generator class="native" /></id><property name="name" type="java.lang.String"><column name="NAME" /></property><property name="age" type="int"><column name="AGE" /></property><joined-subclass name="Student" table="STUDENTS"><key column="STUDENT_ID"></key><property name="school" type="string" column="SCHOOL"></property></joined-subclass></class> </hibernate-mapping>?
轉載于:https://www.cnblogs.com/GooPolaris/p/7920024.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的Hibernate关于父类子类的映射的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UWP 中的 LaunchUriAsyn
- 下一篇: uva 11464 Even Parit