我正在使用 Spring 3 和 Hibernate 4
我在实体类中有以下内容
@Id
@Column(name = "PROJECT_NO")
private String projectNumber;
当我将值插入数据库表时,是否可以插入以下格式的主键PROJECT_NO
值
20131
其中 2013 是当前年份,下一个字符应递增 1。即下一个要插入的值应该是 20132
如何使用 JPA/Hibernate 实现此目的
最佳答案
你必须看看@GeneratedValue和 @GenericGenerator注释。
产生值(value)的可能性有多种。对于您的情况,我相信您需要创建如下内容:
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "year_gen")
@GenericGenerator(name = "year_gen", strategy = "com.example.generator.CustomGenerator")
@Column(name = "PROJECT_NO")
private String projectNumber;
并且CustomGenerator
应该实现org.hibernate.id.IdentifierGenerator
关于java - 使用当前年份的 JPA/Hibernate 主键值序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15107399/