posts - 495,  comments - 11,  trackbacks - 0

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

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

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

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

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

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

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

          > GenerationType.SEQUENCE
            這個(gè)不用多說,應(yīng)用于Oracle、H2、PostgreSQL等有sequence序列功能的數(shù)據(jù)庫

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

           

          項(xiàng)目地址:http://javaclub.sourceforge.net/jorm.html
          下載地址:http://sourceforge.net/projects/javaclub/files/jorm/


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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 澄迈县| 涿州市| 兴隆县| 永顺县| 杨浦区| 德州市| 仙居县| 嘉黎县| 林西县| 远安县| 石棉县| 铜川市| 乡宁县| 普洱| 香港| 西畴县| 雷山县| 云浮市| 淄博市| 梨树县| 阿坝| 惠州市| 宿迁市| 深泽县| 庆城县| 莒南县| 隆化县| 珠海市| 盐池县| 沂源县| 汉沽区| 神农架林区| 新龙县| 顺义区| 滕州市| 临沂市| 孝昌县| 资源县| 灌阳县| 淅川县| 胶南市|