Loading...

          java .net

          難道是hibernate裝聰明?

          今天開發(fā)中遇到一個(gè)奇怪的hibernate錯(cuò)誤
          我的數(shù)據(jù)庫中一個(gè)表中有個(gè)字段名叫id,但是它并不是主鍵
          用hibernate映射后為

          XML語言:
          1 <id name="apprId" type="java.lang.Long">
          2     <column name="APPR_ID" precision="11" scale="0" />
          3     <generator class="assigned" />
          4 </id>
          5 <property name="Id" type="java.lang.Long">
          6     <column name="ID" precision="11" scale="0" />
          7 </property>
          而我當(dāng)執(zhí)行這樣的hibernate的HQL的時(shí)候
          SQL語言:
          1 from RcUApprInfo as model where model.Id = ?

          hibernate解析成sql語句竟然是
          SQL語言:
          1 select ...... from rc_u_appr_info where as model where model.APPR_ID = ?

          跟蹤了好幾遍,都是這樣

          在確定自己的代碼沒問題后,想到可能是hibernate理解錯(cuò)了
          于是將Id改成了別的名
          再試,竟然沒問題了
          難道hibernate將凡是叫Id的都認(rèn)為成主鍵??不解 不解

          posted on 2008-09-04 16:33 閱讀(1299) 評(píng)論(7)  編輯  收藏

          評(píng)論

          # re: 難道是hibernate裝聰明? 2008-09-04 17:55 xx

          你猜對(duì)了  回復(fù)  更多評(píng)論   

          # re: 難道是hibernate裝聰明? 2008-09-04 20:42 lai

          可能是設(shè)置了where條件,你看下hbm  回復(fù)  更多評(píng)論   

          # re: 難道是hibernate裝聰明? 2008-09-05 10:03 Lancelot

          明明是你自己不符合業(yè)界的使用習(xí)慣,還埋怨Hibernate。
          不過我可以負(fù)責(zé)人的告訴你,Hibernate是不會(huì)犯這種弱智錯(cuò)誤的,因?yàn)镠ibernate是知道哪個(gè)屬性是你作為Identity的。  回復(fù)  更多評(píng)論   

          # re: 難道是hibernate裝聰明? 2008-09-05 10:43

          @Lancelot
          我沒有符合業(yè)界的使用習(xí)慣,我認(rèn)真承認(rèn),當(dāng)時(shí)數(shù)據(jù)庫字段設(shè)計(jì)有些隨意
          但您“不過我可以負(fù)責(zé)人的告訴你,Hibernate是不會(huì)犯這種弱智錯(cuò)誤的,因?yàn)镠ibernate是知道哪個(gè)屬性是你作為Identity的。”
          事實(shí)勝于雄辯
          它真的這么發(fā)生了  回復(fù)  更多評(píng)論   

          # re: 難道是hibernate裝聰明? 2008-09-05 10:44

          @lai
          hbm配置文件都是用MyEclipse自動(dòng)映射生成的,沒有添加任何where條件
          感謝回復(fù)  回復(fù)  更多評(píng)論   

          # re: 難道是hibernate裝聰明?[未登錄] 2008-09-05 15:49 soleghost

          coc思想  回復(fù)  更多評(píng)論   

          # re: 難道是hibernate裝聰明? 2008-09-05 16:32

          coc思想是啥  回復(fù)  更多評(píng)論   


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


          網(wǎng)站導(dǎo)航:
           

          公告

          希望有一天

          我能用鼠標(biāo)雙擊我的錢包

          然后選中一張100元

          按住“ctrl+c”

          接著不停的“ctrl+v”

          嘻嘻~~~笑醒~~~



          導(dǎo)航

          <2008年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆分類(102)

          隨筆檔案(398)

          文章分類

          文章檔案(10)

          有趣網(wǎng)絡(luò)

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 漯河市| 华安县| 渑池县| 孟津县| 葵青区| 梅河口市| 乐至县| 临夏市| 水富县| 乌鲁木齐县| 泾源县| 沙坪坝区| 黄龙县| 永平县| 惠来县| 景德镇市| 丹阳市| 克什克腾旗| 新乐市| 错那县| 新密市| 平遥县| 石首市| 大城县| 江都市| 水富县| 灵台县| 徐州市| 那坡县| 苏尼特左旗| 西峡县| 绵竹市| 炎陵县| 江津市| 淅川县| 宁国市| 明溪县| 昌图县| 花莲市| 玉屏| 垫江县|