Java JPA和x2B中的日期前缀自动递增id;冬眠
我必须生成一个自定义的自动增量,它每天00:00重置到日期前缀的自动增量值 例如,2016年1月9日,id应在1601090001到1601099999之间, 2016年12月15日t应为1612150001至161215999 例:1612150001的特征如下Java JPA和x2B中的日期前缀自动递增id;冬眠,java,mysql,hibernate,jpa,auto-increment,Java,Mysql,Hibernate,Jpa,Auto Increment,我必须生成一个自定义的自动增量,它每天00:00重置到日期前缀的自动增量值 例如,2016年1月9日,id应在1601090001到1601099999之间, 2016年12月15日t应为1612150001至161215999 例:1612150001的特征如下 id是一个INT 前两位数代表年份,16表示2016年 数字3和4表示月份 5和6代表日期 剩下的只是一个计数器,所以我预计我们一天生成的记录不到9999条 如何在JPA中实现这一点,最好的方法是什么,目前我使用另一个表来计算当前值,
有没有一种方法可以使用@GeneratedValue注释和自定义策略来实现这一点,如果有,我如何做才能不导致错误,因为它无法生成ID。我找到了两个可以实现这一点的选项
您可以使用hibernate注释并创建自定义序列生成器。有一个问题
您还可以使用JPA注释
@PrePersist
public void getNextIdFromGenerator() {
id = yourInjectedGeneratorOrSomething.nextId();
}
我找到了两个可以实现这一目的的选项
您可以使用hibernate注释并创建自定义序列生成器。有一个问题
您还可以使用JPA注释
@PrePersist
public void getNextIdFromGenerator() {
id = yourInjectedGeneratorOrSomething.nextId();
}
为什么没有评论,是因为没有直接的解决方案还是其他什么……这太疯狂了,所以这个问题没有解决方案,或者没有人知道直接的解决方案……这真的太疯狂了……然后我想是时候采用Java和Hibernate以外的一些其他技术了……你做到了吗?我没有做到,因为我花了很长时间…才得到这个回复…目前我在另一张表上使用了一个计数器,一切正常…当我有机会重构我现有的代码时,我将尝试以下方法…为什么没有注释,是因为没有直接的解决方案还是其他什么…这太疯狂了,所以这个问题没有解决方案,或者没有人知道直接的解决方案……这真是太疯狂了……然后我想是时候采用Java和Hibernate以外的其他技术了……你让它工作了吗?我没有这样做,因为我花了很长时间…才得到这个回复…目前我在另一个表上使用了一个计数器,一切正常…当我有机会重构我现有的代码时,我将尝试以下方法。。。