[英]JPA/Hibernate primary key value sequence using current year
我正在使用Spring 3和Hibernate 4
我在实体类中有以下内容
@Id
@Column(name = "PROJECT_NO")
private String projectNumber;
当我将值插入数据库表时,是否可以插入PROJECT_NO
值,它是以下格式的主键
20131
,其中2013是当前年份,下一个字符应加1。 即下一个要插入的值应该是20132
如何使用JPA / Hibernate实现此目的
您必须查看@GeneratedValue和@GenericGenerator批注。
产生价值有多种可能性。 对于您的情况,我相信您需要创建如下内容:
@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
如何将JPA批注放在getter上,并使用getter方法根据需要格式化数据?
@Entity
public class MyClass {
private String projectNumber;
@Column(name = "PROJECT_NO")
public String getProjectNumber(){
return doSomeFormatting(this.projectNumber);
}
}
这样的事情应该起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.