如何使用两个唯一约束配置 Eclipselink ORM 对象
How to configure Eclipselink ORM Object with two unique constraints
我有一个建立在 Eclipselink 上的应用程序/MySQL。每个持久对象都被赋予了一个作为序列生成的唯一键(在数据库中是唯一的——而不仅仅是相应的 table)。我们现在需要添加第二个连续的唯一键。此密钥是参考存储在配置 table 中的序列变量生成的。即读取变量,加1,用作key,更新变量。
问题是这个过程间歇性地失败。在这个阶段,我们不确定为什么(但正在调查)所以我的问题是:是否有任何理论上的理由 not 在一个对象上有两个唯一键 (table) ?是否有执行此操作的首选机制?
如何为该实体实现@PrePersist 回调。它可以做 'index table' select/update 并在实体中设置适当的值。
正如克里斯已经提到的,模型本身不支持其中的多个序列。
另一种选择是在单个事务中的某些 DAO 方法中手动执行 - 从 table 检索值,设置它(使用常规 setter),持久实体和 commit/rollback取决于结果。
我有一个建立在 Eclipselink 上的应用程序/MySQL。每个持久对象都被赋予了一个作为序列生成的唯一键(在数据库中是唯一的——而不仅仅是相应的 table)。我们现在需要添加第二个连续的唯一键。此密钥是参考存储在配置 table 中的序列变量生成的。即读取变量,加1,用作key,更新变量。
问题是这个过程间歇性地失败。在这个阶段,我们不确定为什么(但正在调查)所以我的问题是:是否有任何理论上的理由 not 在一个对象上有两个唯一键 (table) ?是否有执行此操作的首选机制?
如何为该实体实现@PrePersist 回调。它可以做 'index table' select/update 并在实体中设置适当的值。 正如克里斯已经提到的,模型本身不支持其中的多个序列。
另一种选择是在单个事务中的某些 DAO 方法中手动执行 - 从 table 检索值,设置它(使用常规 setter),持久实体和 commit/rollback取决于结果。