`
jstudio
  • 浏览: 8676 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

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

项目地址:http://javaclub.sourceforge.net/jorm.html
下载地址:http://sourceforge.net/projects/javaclub/files/jorm
0
1
分享到:
评论

相关推荐

    jorm-1.0.7.GA-javadoc

    jorm-1.0.7.GA-javadoc

    p4jorm 1.0.3版本

    【P4JORM 1.0.3 版本详解】 P4JORM,全称为“Perfected Java Object-Relational Mapping”,是一款基于Java语言的高效ORM(对象关系映射)框架。在1.0.3这个版本中,开发者针对用户需求和常见问题进行了重要的改进...

    p4jorm 1.0.1版本

    **P4JORM 1.0.1 版本详解** P4JORM,全称为“Perforce JORM”,是一款专为Java应用程序设计的对象关系映射(ORM)框架,它旨在简化数据库操作,通过提供一个高级接口来处理SQL查询和数据持久化。在P4JORM 1.0.1版本...

    JORM_2.9_bin

    **JORM 2.9:Java对象存储映射框架** JORM,全称为Java Object Relational Mapping,是一款针对Java开发者的开源持久性框架。它的主要功能是为Java对象提供数据库映射服务,使得开发者可以更加方便地管理和操作...

    p4jorm 1.6编译版本

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

    jorm轻量级的orm框架

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

    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 ...

    p4jorm 源码 文档 示例

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

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

    "jorm-unit" 是一个专门为 JUnit 设计的扩展库,它的主要目的是简化和增强针对 Java 持久层API(JPA)的单元测试过程。"JUnit扩展可协助服务器外自动化JPA测试" 表明这个库能够帮助开发者在不依赖于实际服务器环境的...

    92个经典开源项目集锦

    4. **SAP DB, Hypersonic/Hsql, McKoi, Xindice, OJB, Hibernate, Castor, Torque, JORM, XMLBeans, JiBX, JAXB Reference Implementation, JaxMe**:这些是数据库访问和对象关系映射(ORM)工具,它们帮助开发者在 ...

    面向对象设计 PPT

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

    java OR-Mapper-开源

    在文件列表中,我们看到"gnj-jorm-05.12"可能是一个版本号,这暗示了这是一个特定版本的JORM库,可能包含了源代码、文档、示例或者其他相关资源。对于开发者来说,可以通过这个版本了解和学习ORM的具体实现,甚至...

    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