我对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;
}