如何在jpa中实现自动增量
Posted
技术标签:
【中文标题】如何在jpa中实现自动增量【英文标题】:how to implement auto increment in jpa 【发布时间】:2012-09-08 21:34:59 【问题描述】:我正在学习JPA,我想知道我们如何告诉实体管理器主键字段是使用数据库自动递增到表中生成的? 我正在使用 mysql 5.5 和 Oracle Enterprise For Eclipse(OEFE) 感谢您的帮助
【问题讨论】:
会认为对您选择的 JPA 实现的文档进行简单搜索会给出这样的结果;你没有说你使用的是哪一个...... EclipseLink? How to annotate MYSQL autoincrement field with JPA annotations的可能重复 【参考方案1】:如果您有一个需要自动递增的 id,那么,
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
【讨论】:
在像 MySQL 这样的一些数据库中,您可以使用@GeneratedValue
和 @GeneratedValue(strategy=GenerationType.AUTO)
而不是 @GeneratedValue(strategy=GenerationType.IDENTITY)
,但并非所有数据库都如此。例如 PostgreSQL 将不适用,您应该只使用 @GeneratedValue(strategy=GenerationType.IDENTITY)
以上是关于如何在jpa中实现自动增量的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 EntityManager (JPA) 在 DAO 中实现 update() 方法?
如何在 JPA 的 BaseEntity 中实现 equals() 和 hashcode() 方法?