糊言亂語

          志未半斤, 才無八兩. 有苦有樂, 糊涂過活。
          posts - 25, comments - 7, trackbacks - 0, articles - 42
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          Hibernate復(fù)合主鍵BUG

          Posted on 2007-10-09 12:57 Stanley Sun 閱讀(312) 評論(0)  編輯  收藏
          在一般的項目中,數(shù)據(jù)庫主鍵不會擁有業(yè)務(wù)邏輯。但是在一些數(shù)據(jù)庫設(shè)計不是很嚴格的項目中還是會把擁護業(yè)務(wù)邏輯的字段作為主鍵使用,而且可能回事復(fù)合主鍵。 現(xiàn)在在一個項目我就遇到這情況。這個項目的數(shù)據(jù)訪問框架使用的Hibernate框架,在對復(fù)合主鍵的映射是我遇到了一個Hibernate Bug。我使用的數(shù)據(jù)庫是Oracle 8i。Hibernate Mapping如下:

          <composite-id name="id" class="InfoViewDetaillistId">

                     <key-property

                        name="accountno"

                        column="ACCOUNTNO"

                        type="string"

                     />

                     <key-property

                        name="rlsdepid"

                        column="RLSDEPID"

                        type="string"

                     />

                     <key-property

                        name="sequenceno"

                        column="SEQUENCENO"

                        type="integer"

                     />

                     <key-property

                        name="ondate"

                        column="ONDATE"

                        type="date"

                     />

          </composite-id>

          在這個復(fù)合主鍵中包括了四個擁有業(yè)務(wù)邏輯的字段,分別是帳號,中心號,序號,日期。問題就在Hibernate對日期類型的映射上,如使用上面的配置方法的話Hibernate在啟動的時候就會報錯。具體的解決方法是把
          <key-property

          name="ondate"

          column="ONDATE"

          type="date"

          />

          替換成

          <key-property name="ondate" type="date">

          <column name="ONDATE" not-null="true" sql-type="java.sql.Types.DATE"/>

          </key-property>

          Bug具體的原因我會在一會的文章中解釋。

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 西宁市| 邯郸市| 曲阳县| 济南市| 武宣县| 长白| 南陵县| 工布江达县| 冕宁县| 忻州市| 漠河县| 襄樊市| 龙岩市| 遂宁市| 登封市| 静安区| 嘉兴市| 金寨县| 大城县| 房产| 克山县| 宁强县| 武宣县| 霍林郭勒市| 兴义市| 齐齐哈尔市| 侯马市| 龙川县| 邵武市| 天水市| 阿合奇县| 名山县| 民和| 登封市| 毕节市| 宜兰市| 历史| 大城县| 长治市| 延津县| 无棣县|