【发布时间】:2016-06-15 19:13:08
【问题描述】:
我必须生成一个自定义自动增量,它每天在 00:00 时间重置为日期前缀自动增量值
例如 2016 年 1 月 9 日,id 应该在 1601090001 到 1601099999 的范围内, 而 2016 年 12 月 15 日的 t 应该是 1612150001 到 1612159999。
例如:1612150001的特征如下
- id 是一个 INT
- 前两位代表年份,16表示2016年
- 数字 3 和 4 表示月份,
- 5和6代表日期
- 只剩下一个计数器,所以我预计我们一天生成的记录少于 9999 条。
如何在 JPA 中实现这一点,最好的方法是什么,目前我使用另一个表来计算当前值并使用上次更新时间和当前时间来计算前缀并决定自动递增部分是否重置为 1。我觉得这不是一个正确的解决方案。
有没有一种方法可以将@GeneratedValue 注释与自定义策略一起使用,如果是这样,我该怎么做而不导致错误,它无法生成 ID。
【问题讨论】:
-
为什么没有cmets,是因为没有直接的解决方案还是别的什么.....
-
这太疯狂了,所以这个问题没有解决方案,或者没有人知道直接的解决方案......这真的很疯狂......然后我认为是时候采用一些其他技术而不是Java 和休眠...
-
你让它工作了吗?
-
我没有这样做,因为它花了很长时间......得到这个回复......目前我使用不同桌子上的柜台做了它并且一切正常......我会尝试当我有机会重构我现有的代码时,可以通过以下方式...
标签: java mysql hibernate jpa auto-increment