有没有办法配置或覆盖 JPA @Version 注释以使用字符串(UUID)?根据示例,我有一个使用 int 的乐观并发工作的简单示例int version@VersionPublic Integer getVersion () return version;...我们需要考虑使用 GUID 进行版本控制(目前在 Postgres 数据库中作为一个变化 100 的字符保存)。老实说,我的示例在不久前就开始工作了,还没有深入研究。我的第一次尝试是在黑暗中充满希望的一枪 -String version@Version @GeneraedValue(generator="system-uuid")Public String getVersion () return version;...基本上我认为这是您将 UUID 用于主键的方式。我想如果这行得通,他们会记录下来的!我敢肯定我听说过这是可能的,尽管我最初的谷歌搜索没有提出任何建议,所以我想我会问是否有人以前做过这个,或者可以指出我粗略的方法(我'我假设它会比我的简单尝试更深一些)?
1 回答

慕妹3242003
TA贡献1824条经验 获得超6个赞
不,JPA 规范不允许这样做。基于时间或基于数字。而且你肯定永远不会有一个生成策略,因为那是针对 PK 的,因为版本是由 JPA 提供者直接分配的。
来自 javadoc@Version
版本属性支持以下类型:int、Integer、short、Short、long、Long、java.sql.Timestamp。
添加回答
举报
0/150
提交
取消