如题。
在基实体类中共享 Id 定义不是很常见吗?例如:
@MappedSuperclass
public abstract class BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
public Long getId() {return this.id;}
public void setId(Long id) { this.id = id; }
...
}
在子类中,它应该按以下方式工作:
@Entity
@Table(name = "sub_entity_table")
@TableGenerator(name = "SUB_ENTITY_SEQUENCE", initialValue = 1, allocationSize = 100)
public class SubEntity extends BaseEntity {
...
}
由于未指定 GeneratedValue.generator,因此应指定默认值。默认生成器名称为:距离实体类最近的向上 TableGenerator 定义,就像继承一样。湾。如果“a”中的情况不存在,则使用 JPA 提供者提供的文字值,例如 SEQ_GEN_TABLE。
我非常喜欢eclipseLink。我真的希望在下一个 eclipselink 版本中看到这个特性。:)