我想要一个 JPA/Hibernate(最好是 JPA)注释,它可以生成列的值,该值不是主键,并且不是从 1 开始。
据我所知,JPA 无法使用 @GenerateValue、@SequenceGenerator 和 @TableGenerator 做到这一点。或者与其他任何东西一起。
我见过一个solution多了一张桌子,我觉得这并不优雅。
我可以接受 Hibernate 注释,因为我已经有了 Hibernate 注释。
我想使用@Generate,但我无法让它工作,人们claim这是可能的。
@Generated(GenerationTime.INSERT)
private long invoiceNumber;//invoice number
更新:一个额外的要求,如果事务回滚,我们的编号不能有间隙。
任何人?
The @GeneratedValue
仅适用于标识符,因此您不能使用它。如果您使用 MySQL,则受到很大限制,因为不支持数据库序列。
InnoDB 不支持多个 AUTO_INCREMENT 列如果你的表 PK 是 AUTO_INCRMENTED,那么你有两个选择:
寻找一个行为类似于序列生成器的单独表,这是您已经说过您不满意的解决方案。
Use an 插入触发器增加该列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)