posts - 495,  comments - 11,  trackbacks - 0

          > 引言
            在Jorm中,主鍵的生成策略主要有AUTO、UUID、GUID、FOREIGN、SEQUENCE、INCREMENT、IDENTITY、ASSIGNED,下面分別來講述這幾種策略的應用場景

          > GenerationType.AUTO
            Jorm的默認主鍵策略,自動增長型,自增步長為1,適用數據類型int,long,如:
            private int id // 默認策略就是AUTO,故可以不寫主鍵策略
            或
            @Id(GenerationType.AUTO) // 默認策略可以省去不寫的哦~
            private int id

          > GenerationType.INCREMENT
            顧名思義,增長型,適用數據類型int,long。自增步長為1
            1> 使用默認自增步長1,如:
               @Id(GenerationType.INCREMENT)
               @Column("item_id")
               private long id;
            2> 使用自定義步長,如:
               @Id(value = GenerationType.INCREMENT, incrementBy=3) // 這里自增步長為3,注意寫法
               private int id;

          > GenerationType.IDENTITY
            對于那些實現了自動增長的數據庫,可以使用IDENTITY,如MySQL,SQL Server,PostreSQL,前提是
            MySQL數據庫中建表語句定義了主鍵為:id(你的主鍵列名) int NOT NULL AUTO_INCREMENT 或
                                                                                
          id(你的主鍵列名) bigint NOT NULL AUTO_INCREMENT
            SQL Server數據庫中建表語句定義了主鍵為:id int identity(xx, xx) 如此類似
            PostreSQL數據庫中建表語句定義了主鍵為:id bigserial  或  id serial
            使用例子
            @Id(GenerationType.IDENTITY)
            @Column("id")
            private long sid;

          > GenerationType.UUID
            與數據庫無關的策略,適用數據類型:字符串類型,適用所有數據庫,長度須大于或等于32
            @Id(GenerationType.UUID)
            private String id;

          > GenerationType.GUID
            與UUID有點類似,不過這個id值是又數據庫來生成的,適用于數據庫MySQL、PostgreSQL、SQL Server、Oracle等
            @Id(GenerationType.GUID)
            private String id;

          > GenerationType.FOREIGN
            適用于一對一關系中引用了另一個對象的主鍵作為自己的主鍵的情形,如:
            @Id(GenerationType.FOREIGN)
            @Column("identity_number")
            private String identity;

          > GenerationType.SEQUENCE
            這個不用多說,應用于Oracle、H2、PostgreSQL等有sequence序列功能的數據庫

          > GenerationType.ASSIGNED
            用戶自定義生成,需要由程序員手工給主鍵主動賦值

           

          項目地址:http://javaclub.sourceforge.net/jorm.html
          下載地址:http://sourceforge.net/projects/javaclub/files/jorm/


          posted on 2011-10-10 15:17 jadmin 閱讀(1499) 評論(3)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 浦城县| 罗甸县| 巍山| 武陟县| 阳江市| 铜鼓县| 岫岩| 原阳县| 大连市| 安溪县| 洪江市| 深泽县| 九江市| 巩义市| 项城市| 万载县| 益阳市| 德保县| 潼南县| 英山县| 汉源县| 永泰县| 嘉义市| 临夏市| 遂平县| 仙居县| 合作市| 万年县| 凌源市| 富宁县| 珲春市| 周至县| 肇东市| 汕头市| 东乡族自治县| 平塘县| 石嘴山市| 和林格尔县| 清河县| 大连市| 霍林郭勒市|