`
javayestome
  • 浏览: 1015166 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于Jorm的主键ID生成

 
阅读更多

 

在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
用户自定义生成,需要由程序员手工给主键主动赋值

 

 

 

1
1
分享到:
评论

相关推荐

    jorm-1.0.7.GA-javadoc

    jorm-1.0.7.GA-javadoc

    p4jorm 1.6编译版本

    开始那个版本是1.7,有些同学遇到“java.lang.UnsupportedClassVersionError: Bad version ”问题,如果是jdk 1.6,请用此版本,或者自己编译一个,因为已发布源码

    jorm轻量级的orm框架

    不用写sql啦,不用创建表啦,一个比mybatis更轻量级,比hibernate好用的orm!

    JORM_2.9_bin

    JORM(Java对象存储映射)Java开源的持久性框架。它为JOnAS J2EE应用服务器提供EJB 2.0 CMP。JORM还与Speedo JDO实现结合。

    p4jorm 1.0.1版本

    修补p4jorm jpa支持:查询参数赋值开始索引位置(position)错误(从1开始)

    p4jorm 1.0.3版本

    添加PageIndex的hashcode生成规则;解决form不能为空的错误。

    p4jorm 源码 文档 示例

    你还写jdbc呢?还在反复HQL拼写工作?p4jorm让你无需写一行代码,即可进行CURD,真正的简单易学。本人用了3天时间完成,还请各位多多指点 http://blog.csdn.net/partner4java/article/details/8559661 ...

    java轻量级ORM实现-jorm (Just ORM)

    This project is based on Java, is a lightweight ORM model. Only concerned about the Object-Relationl Mapping, therefore more simple and easier to use, easier to control. Key support functions and ...

    jorm-unit:JUnit扩展可协助服务器外自动化JPA测试

    单位 JUnit扩展可协助服务器外自动化JPA测试 检查

    面向对象设计 PPT

    其间,也诞生了许多优秀的MVC框架,如专注于控制层的Struts、WebWork, Struts2, JSF等框架,专注于业务逻辑方面的Spring框架、专注于持久层的Hibernate、iBatis、Castor、JORM等框架。由于最近用了一次SSI框架,因此...

    HealthDeterminants:健康可视化的社会决定因素

    健康的决定因素 健康的社会决定因素的开源可视化。 参考 NCHHSTP健康的社会决定因素。 (2014)。 检索自2016年3月14日,从检索 健康的决定因素。...和Jorm,L.(2010年12月)。 公共卫生分类项目(共和

    最近收到的书

    最近收到的书籍 ...JORM, AF 阅读和拼写障碍的心理学。 波士顿:Routledge & Kegan Paul,1983 年,134 页,价格不详。 KNOWLES, D., & REEVES, N. 但是奶奶不需要她的袜子吗? 爱荷华州迪比克

Global site tag (gtag.js) - Google Analytics