1

我正在将 JPA 2 用于企业应用程序,而我的 DBA 只是给我一个转折点。

他们希望我为我的所有表格使用该组的集中对象 ID 生成器这意味着我需要调用 Web 服务来获取一批 ~50 个 id,而不是使用表值或序列表。

然后,当我持久化任何新对象时,我需要先注入这个 id并将其保存到表中。

那么我将如何操纵实体的@Id 列来处理这个问题。

是否像在我坚持之前设置密钥一样简单?我怀疑这会引发某种带有 ID 设置错误的非托管实体。

4

1 回答 1

1

更新:

更好的方法是在 Generated 字段上实际指定 Sequence 策略并指定自定义 Sequence 类。

然后,JPA 将在每次插入新对象时调用此类的 nextId() 方法。

此方法允许持久保存完整图,而无需手动干预每个实体。


弄清楚了。非常复杂;) - 只需从键字段中删除 GeneratedValue 注释。

它适用于 SSN 或电子邮件等原生 ID,但无论来源如何都可以使用。

@Entity
public class Client{

    @Id
    @Column(name="CLNT_ID") 
    private long key;
    @Column(name="CLNT_NUM")
    private String clientNumber;
...
}
于 2010-08-25T18:02:20.803 回答