gdufo

           

          hibernate annotation關(guān)聯(lián)關(guān)系問題解決

          轉(zhuǎn):
          http://www.aygfsteel.com/wuxj888java/archive/2008/01/03/172504.html

          最近使用annotation做hibernate映射,有兩張表人員(Person)表 和醫(yī)院(Hospital)表,人員表和醫(yī)院表是ManyToOne,業(yè)務(wù)只需要從人員表出發(fā)設(shè)置不同醫(yī)院,所以是單向的ManyToOne

          在Person表關(guān)系定義如下:
          @ManyToOne(cascade = { CascadeType.PERSIST,CascadeType.MERGE})
          @JoinColumn(name = "HOSPITAL_ID")

          但我在后臺(tái)方法測(cè)試時(shí),如果醫(yī)院信息修改或新建,保存到人員表中,醫(yī)院信息不會(huì)級(jí)聯(lián)更新或新增,級(jí)聯(lián)關(guān)系不起作用


          我又用hbm.xml方式實(shí)驗(yàn)了一下,在Person端加上cascade="save-update",如果醫(yī)院信息修改或新增,保存人員信息會(huì)級(jí)聯(lián)更新或新增到醫(yī)院表,方式如下:
          <many-to-one name="hospital" class="com.Hospital" fetch="select" lazy="false" not-null="true" cascade="save-update">
          <column name="HOSPITAL_ID" />
          </many-to-one>



          后來經(jīng)別人指點(diǎn)發(fā)現(xiàn)我引用的包是
          import javax.persistence.CascadeType;
          import javax.persistence.Cascade;

          而應(yīng)該使用hibernate annotation包
          import org.hibernate.annotations.Cascade;
          import org.hibernate.annotations.CascadeType;

          Person表的關(guān)聯(lián)關(guān)系應(yīng)改成
           @ManyToOne()
           @Cascade(value={CascadeType.SAVE_UPDATE})
           @JoinColumn(name = "HOSPITAL_ID")
          這樣級(jí)聯(lián)更新和新增功能就成功了

          posted on 2008-08-26 13:46 gdufo 閱讀(906) 評(píng)論(0)  編輯  收藏 所屬分類: Hibernate

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 自治县| 镇康县| 胶南市| 靖安县| 雷州市| 威远县| 罗源县| 大英县| 林口县| 正蓝旗| 临沭县| 北宁市| 文成县| 塔城市| 朝阳市| 伊川县| 东安县| 赣榆县| 江口县| 长泰县| 石河子市| 固安县| 祥云县| 黄梅县| 措勤县| 遵化市| 海门市| 乡城县| 习水县| 会泽县| 株洲市| 司法| 宿迁市| 龙陵县| 东乌珠穆沁旗| 山阴县| 南平市| 磴口县| 义乌市| 当阳市| 怀仁县|