我使用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