課程
/后端開發(fā)
/Java
/Hibernate初探之一對(duì)多映射
如果可以 ,該怎么配置?
?
視頻中時(shí)自己用sql語句添加的。
2016-03-06
源自:Hibernate初探之一對(duì)多映射 2-5
正在回答
利用hbm2ddl自動(dòng)創(chuàng)建數(shù)據(jù)庫表時(shí),會(huì)同時(shí)創(chuàng)建表的外鍵關(guān)聯(lián)。配置如下。
<prop?key="hibernate.hbm2ddl.auto">create</prop>
要取消外鍵的自動(dòng)創(chuàng)建,,需要配置foreign-key="none"。
項(xiàng)目中關(guān)于hibernate ORM的配置可以用注解方式,也可以用配置文件方式。
用配置文件方式可以在xml相應(yīng)實(shí)體類進(jìn)行如下配置(注意其中的foreign-key="none"):
<class?name="org.jbpm.identity.User"?table="JBPM_ID_USER"?discriminator-value="U"> ????<id?name="id"?column="ID_"> ??????<generator?class="native"?/> ????</id> ????<discriminator?type="char"?column="CLASS_"?/> ????<property?name="name"?column="NAME_"?/> ????<property?name="email"?column="EMAIL_"?/> ????<property?name="password"?column="PASSWORD_"?/> ????<set?name="memberships"?cascade="all"> ??????<key?column="USER_"?/> ??????<one-to-many?class="org.jbpm.identity.Membership"?/> ????</set> ????<set?name="permissions"?cascade="all"?table="JBPM_ID_PERMISSIONS"> ??????<key?column="ENTITY_"?foreign-key="none"?/> ??????<element?type="org.jbpm.identity.hibernate.PermissionUserType"> ????????<column?name="CLASS_"?/> ????????<column?name="NAME_"?/> ????????<column?name="ACTION_"?/> ??????</element> ????</set> ??</class>
用注解方式可以在相應(yīng)類字段的get方法前配置注解如下:
@JoinColumn(name="parent_id") @ForeignKey(?name?=?"none"?)
舉報(bào)
Hibernate中一對(duì)多關(guān)聯(lián)映射配置,以及cascade和inverse屬性作用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-03-06
利用hbm2ddl自動(dòng)創(chuàng)建數(shù)據(jù)庫表時(shí),會(huì)同時(shí)創(chuàng)建表的外鍵關(guān)聯(lián)。配置如下。
<prop?key="hibernate.hbm2ddl.auto">create</prop>
要取消外鍵的自動(dòng)創(chuàng)建,,需要配置foreign-key="none"。
項(xiàng)目中關(guān)于hibernate ORM的配置可以用注解方式,也可以用配置文件方式。
用配置文件方式可以在xml相應(yīng)實(shí)體類進(jìn)行如下配置(注意其中的foreign-key="none"):
<class?name="org.jbpm.identity.User"?table="JBPM_ID_USER"?discriminator-value="U"> ????<id?name="id"?column="ID_"> ??????<generator?class="native"?/> ????</id> ????<discriminator?type="char"?column="CLASS_"?/> ????<property?name="name"?column="NAME_"?/> ????<property?name="email"?column="EMAIL_"?/> ????<property?name="password"?column="PASSWORD_"?/> ????<set?name="memberships"?cascade="all"> ??????<key?column="USER_"?/> ??????<one-to-many?class="org.jbpm.identity.Membership"?/> ????</set> ????<set?name="permissions"?cascade="all"?table="JBPM_ID_PERMISSIONS"> ??????<key?column="ENTITY_"?foreign-key="none"?/> ??????<element?type="org.jbpm.identity.hibernate.PermissionUserType"> ????????<column?name="CLASS_"?/> ????????<column?name="NAME_"?/> ????????<column?name="ACTION_"?/> ??????</element> ????</set> ??</class>
用注解方式可以在相應(yīng)類字段的get方法前配置注解如下:
@JoinColumn(name="parent_id") @ForeignKey(?name?=?"none"?)