新的起點

          新的起點
          隨筆 - 9, 文章 - 1, 評論 - 1, 引用 - 0
          數據加載中……

          在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 軋鋼王子 閱讀(1375) 評論(0)  編輯  收藏 所屬分類: Hibernate


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


          網站導航:
           
          主站蜘蛛池模板: 沙洋县| 泽普县| 淄博市| 普兰县| 临沧市| 闵行区| 焦作市| 皋兰县| 肇庆市| 泸水县| 措美县| 刚察县| 比如县| 大方县| 武定县| 德兴市| 辉县市| 龙江县| 苗栗市| 马龙县| 江陵县| 容城县| 弥渡县| 东阳市| 体育| 师宗县| 平湖市| 洱源县| 南皮县| 镇远县| 启东市| 永平县| 临汾市| 盐源县| 兴和县| 防城港市| 哈密市| 清徐县| 珲春市| 蒲江县| 西贡区|