我使用JPA2與Hibernate並嘗試爲我的實體引入一個公共基類。到目前爲止,它看起來像這樣:MappedSuperclass - 在子類中更改SequenceGenerator
@MappedSuperclass
public abstract class BaseEntity {
@Id
private Long id;
@Override
public int hashCode() {
// ...
}
@Override
public boolean equals(Object obj) {
// ...
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
}
然而,對於每個表那裏有一個序列$entityname_seq
,我想我的序列發生器使用。我怎樣才能從我的子類中設置?我想我需要重寫@GeneratedValue並使用@SequenceGenerator創建一個新的SequenceGenerator。
我和的EclipseLink 2.6.1-RC1測試和它的工作了。 – leonardoborges 2015-08-11 14:39:57
這是個好消息。謝謝!我要編輯答案。 – rbento 2015-08-11 14:57:37
此外,所有子類必須具有@SequenceGenerator定義,否則映射將引發錯誤 – 2015-08-29 12:28:47