如何在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中实现自动增量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 NLP 中实现增量学习

如何使用 EntityManager (JPA) 在 DAO 中实现 update() 方法?

如何在 JPA 的 BaseEntity 中实现 equals() 和 hashcode() 方法?

如何在 JPA 和自定义 UUID 标识符中实现批量插入

在每个模型的不同 DAL 类中实现 JPA 存储库方法时如何避免重复的代码行/代码块

如何在 Spark SQL(PySpark) 中实现自增