新的起點

          新的起點
          隨筆 - 9, 文章 - 1, 評論 - 1, 引用 - 0

          導航

          <2008年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章檔案

          相冊

          個人常用網站

          其它

          開發類網站

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          在Hibernate中使用oracle的sequence產生主鍵

              剛剛接觸Hibernate不長時間,今天想動手做一個小例子,數據庫使用的是Oracle。打算使用Oracle中的序列作為表的主鍵,卻不知道使用Hibernate如何與其關聯在一起。請教同事,被告知要使用諸如select語句進行查詢“select   sequence.nextval   from   dual”,暈倒~

          終于等到中午,上網去查資料。得解:
             1
          、在oracle 首先創建sequence

                create sequence seq_id
                minvalue 
          1
                start 
          with 1
                increment 
          by 1
                cache 
          20;

             2.在你的hbm.xml中的配置

               <id column="ID0000" name="id" type="integer">
                   
          <generator class="sequence">
                        
          <param name="sequence">seq_id</param>
                   
          </generator>
               
          </id>

             這樣再插入數據的時候,Hibernate回自動生成如下語句:

                 hibernate: select seq_id.nextval from dual 

                 hibernate:  
          insert into YXJK.T_YXJK_WHRYTXL (XM0000, ZW0000,                         LXDH00,SJHM00,DZYJ00,IP0000,ID0000) values (?, ?, ?, ?, ?, ?, ?)

             自動生成下一個序列值,然后將對象插入表中。
                 這樣問題得解!

          PS:
          sequence就是采用數據庫提供的sequence機制生成主鍵。如oralce中的Sequence
          native
          就是由hibernate根據數據庫的Dialect,自動采用identityhilosequence的其中一種作為主鍵生成方式

          posted on 2008-01-16 17:49 軋鋼王子 閱讀(1373) 評論(0)  編輯  收藏 所屬分類: Hibernate


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


          網站導航:
           
          主站蜘蛛池模板: 南部县| 宁陵县| 呈贡县| 酉阳| 静安区| 乳山市| 苍南县| 凤翔县| 虎林市| 剑河县| 天门市| 张家川| 邹城市| 炉霍县| 读书| 五常市| 隆回县| 尤溪县| 田东县| 南岸区| 余庆县| 万宁市| 丰城市| 兴城市| 太谷县| 通州区| 龙州县| 仁化县| 运城市| 子洲县| 石城县| 长治县| 江北区| 永新县| 大竹县| 上栗县| 六枝特区| 东乡| 海阳市| 社旗县| 大竹县|