① hibernate一對一關聯映射,哪個表設置外鍵呢
關聯的方向可分為單向關聯和雙向關聯除了需要考慮關聯的方向問題,還需要考慮關聯雙方的數量問題一對一(one
to
one)一對多(one
to
many)多對一(many
to
one)多對多(many
to
many),
當從表中的外鍵即是主鍵時,稱為基於主鍵的一對一關聯主表的hbm.xml中使用
配置從表的hbm.xml中也使用
配置,同時使用
,指定其主鍵與外鍵相同。
當從表中的外鍵擁有uinique約束時,稱為基於唯一外鍵的一對一關聯主表的hbm.xml中使用
配置從表的hbm.xml中使用
配置,並指定unique屬性為true
基於主外鍵的一對多關系主表的hbm.xml中,
使用
從表的hbm.xml中,使用
雙向的一對多/多對一關系是現實中最為常見的關聯關系。
② Hibernate many-to-one關聯映射沒有外鍵應該如何配置映射文件
雙向可以兩端都直接關聯對方,比如學生和老師,處理成雙向,可以查學生時也查出老師是誰,查老師時也查出有哪些學生。
單向用在某一端不需要關聯查對方的時候,比如學校和學生,查學校時一般不會需要關聯把所有學生都查出來的吧?這樣太費性能了,也沒實用性。於是就設為單向,學生關聯學校,簡化了維護關系。
需要通過學校查學生時再另寫查詢語句好了。
③ hibernate中既有主鍵又有多個外鍵怎麼配置
外鍵不外呼就是:one to one ;one to many(雙向);many to many 這樣就好了
④ hibernate中怎麼確定外鍵在哪張表裡
去看實體中里有個類。
例如,實體類為User.該類中的private UserType type就是外鍵所在的表。表名為UserType
或去看實體的.hbm.xml文件。。
裡面有個many-to-one。
例:<many-to-one
name="type"
class="com.library.entity.UserType"
cascade="none"
outer-join="auto"
update="true"
insert="true"
column="type_id"
not-null="true"
lazy="false"
/>
class里的UserType就是外鍵的表名
⑤ hibernate中兩個外鍵映射同一個主鍵、怎樣配置
分開來配吧,你就當只有一個外鍵,然後配兩次
⑥ 請高手來幫我設置hibernate外鍵關聯!!!
cascade是要設置的啊~~
⑦ hibernate 外鍵問題
這個不是外鍵問題 而是hibernate配置中的級聯問題
cascade 你可以通過設置這個屬性來控制
⑧ Hibernate用Unique約束列做外鍵,怎麼配置
如果是使用xml映射方式的話在<many-to-one>一端使用property-ref=""指明要關聯的唯一索引屬性名即可。如
User:
<property name="name" column="NAME" type="string" unique="true"/>
Score:
<many-to-one name="user" class="User" column="NAME" property-ref="name" />
⑨ hibernate怎麼設置外鍵
//確保這個Class類是你自己定義的,而不是java的類Class clazz = session.load(Class.class, 1);Student student = new Student();//設置你的其他屬性student.setXxx();student.setClass(clazz);session.save(student);
⑩ hibernate的多對一關聯,外鍵的設置
普通的多對一映射,B表加個<many-to-one>,雙向的話A表再加個<set>
這是hibernate的基礎東西,建議LZ好好學學,hibernate的個更方便快捷的ORM框架