溫暖潔森

          勇敢做自己

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            13 隨筆 :: 1 文章 :: 70 評論 :: 0 Trackbacks
          最近使用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)方法測試時(shí),如果醫(yī)院信息修改或新建,保存到人員表中,醫(yī)院信息不會(huì)級聯(lián)更新或新增,級聯(lián)關(guān)系不起作用


          我又用hbm.xml方式實(shí)驗(yàn)了一下,在Person端加上cascade="save-update",如果醫(yī)院信息修改或新增,保存人員信息會(huì)級聯(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")
          這樣級聯(lián)更新和新增功能就成功了
          posted on 2008-01-03 16:24 harry520 閱讀(3328) 評論(3)  編輯  收藏 所屬分類: J2EE

          評論

          # re: hibernate annotation關(guān)聯(lián)關(guān)系問題解決 2008-01-03 17:40 小立飛刀
          good  回復(fù)  更多評論
            

          # re: hibernate annotation關(guān)聯(lián)關(guān)系問題解決 2008-01-04 09:20 itVincent
          不清楚你的hibernate是什么版本,我用的3.3就是用JPA的包的  回復(fù)  更多評論
            

          # re: hibernate annotation關(guān)聯(lián)關(guān)系問題解決[未登錄] 2008-01-04 09:32 harry520
          我用的也是hibernate annotation 3.3,把其中ejb3-persistence.jar也引入,目前都是最新版本,這個(gè)問題確實(shí)是存在  回復(fù)  更多評論
            

          主站蜘蛛池模板: 青神县| 乌兰县| 蓝田县| 南开区| 商南县| 洞头县| 元江| 永丰县| 温泉县| 博罗县| 商南县| 海阳市| 鲁甸县| 岳普湖县| 商都县| 那曲县| 南康市| 商河县| 界首市| 湖南省| 和平县| 大关县| 北海市| 丹棱县| 建始县| 招远市| 泰州市| 桦川县| 焉耆| 土默特右旗| 桂林市| 农安县| 交城县| 武隆县| 临高县| 天津市| 青阳县| 赞皇县| 淮安市| 唐河县| 汕头市|