使用EmbeddedId时如何生成键值

时间:2015-12-17 03:11:28

标签: java jpa openjpa

我对Java& JPA。我面临的问题是我有一个使用EmbeddedId的实体。 javadoc说@GeneratedValue不能用于简单的主键。

经过一些搜索,我实现的方法是,创建一个实体“sequence_table”&手动读取该值,将其递增一次,更新当前值,使用该值创建EmbeddedId&所有这些都是通过同步方法完成的。

这种方法是否正常,或者在使用EmbeddedId时是否有更好的方法来生成id?我也在考虑预先分配&缓存ID,与GeneratedValue完成的相同。

有没有现成的解决方案,还是我重新发明?

更新 实体代码如下

@Entity
public class TransactionDetails {
   @EmbededId
   TransactionKey id;
}

@Embedded
public class TransactionKey {
    Integer id;
    String  storeId;
}

0 个答案:

没有答案