<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    hibernate自定義主鍵策略

    Posted on 2011-05-16 17:09 瘋狂 閱讀(4064) 評論(1)  編輯  收藏 所屬分類: hibernate

    hibernate自定義主鍵策略,
    最近項目中使用hibernate的guid生成策略,配置如下:
    <id name="id" type="java.lang.String">
                <column name="ID" length="32" />
                <generator class="guid" />
    </id>
    發現生成的id很有規律,一看源碼原來hibernate的guid底層使用采用數據庫底層的guid算法機制,對應MYSQL的uuid()函數,SQL

    Server的newid()函數,ORACLE的rawtohex(sys_guid())函數等。


    具體oracle使用的是(select rawtohex(sys_guid()) from dual)
    使用下面的pl/sql測試:

    declare 
      v varchar2(
    32);
    begin
      
    for i in 0..10 loop
      select   rawtohex(sys_guid()) into v from dual;
        dbms_output.put_line(v);
      end loop;
    end;


    結果:
    A36190EE69DDAAE7E040200A8A096CE5
    A36190EE69DEAAE7E040200A8A096CE5
    A36190EE69DFAAE7E040200A8A096CE5
    A36190EE69E0AAE7E040200A8A096CE5
    A36190EE69E1AAE7E040200A8A096CE5
    A36190EE69E2AAE7E040200A8A096CE5
    A36190EE69E3AAE7E040200A8A096CE5
    A36190EE69E4AAE7E040200A8A096CE5
    A36190EE69E5AAE7E040200A8A096CE5
    A36190EE69E6AAE7E040200A8A096CE5
    A36190EE69E7AAE7E040200A8A096CE5
    只有中間一個字符不同。

    下面采用hibernate自定id策略接口IdentifierGenerator
    我們簡單起見使用jdk自帶的uuid方法:

    public class UUIDGenerator implements IdentifierGenerator{

     
    private static Logger logger = Logger.getLogger(UUIDGenerator.class);
     
     
    public Serializable generate(SessionImplementor session, Object object)
       
    throws HibernateException {
      String id 
    = UUID.randomUUID().toString().replaceAll("-""").toUpperCase();
      
      
    return id;
     }


    }


    然后在配置的時候用如下配置即可:

    <id name="id" type="java.lang.String">
                <column name="ID" length="32" />
                <generator class="com.XXX.XXX.UUIDGenerator" />
    </id>
    ~完~


    評論

    # re: hibernate自定義主鍵策略  回復  更多評論   

    2013-04-19 10:30 by 臭豆腐
    真心 不錯
    主站蜘蛛池模板: 亚洲AV成人精品日韩一区| 色窝窝亚洲AV网在线观看| 自拍偷自拍亚洲精品播放| 任你躁在线精品免费| 国产亚洲精AA在线观看SEE| 亚洲精品福利网站| 亚洲AV无码久久精品成人| 亚洲中文无码亚洲人成影院| 丁香花在线观看免费观看图片| 免费无码又爽又刺激聊天APP| 国产亚洲色视频在线| 一本色道久久综合亚洲精品蜜桃冫| 中文字幕免费在线看电影大全 | 99免费视频观看| 久久久久国产精品免费免费搜索| 亚洲一区日韩高清中文字幕亚洲| 国产真实伦在线视频免费观看| 国产亚洲一区二区三区在线| 亚洲精品中文字幕无码A片老| 久久免费美女视频| 国产成人免费网站在线观看 | 亚洲日韩中文字幕一区| 两个人日本免费完整版在线观看1| 国产精品久久久久久久久久免费| 亚洲国产精品特色大片观看完整版 | 国产又黄又爽又猛免费app| 亚洲国产综合人成综合网站| 亚洲免费二区三区| 亚洲国产精品精华液| 日本不卡免费新一区二区三区| 国产成人综合久久精品免费| 亚洲国产综合自在线另类| 黄网站在线播放视频免费观看| 中文在线日本免费永久18近| 精品视频一区二区三区免费| 免费三级毛片电影片| 国产免费卡一卡三卡乱码| 亚洲熟妇中文字幕五十中出| 亚洲成电影在线观看青青| 国产亚洲漂亮白嫩美女在线| 在线观看片免费人成视频无码|