2

如题。

在基实体类中共享 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 版本中看到这个特性。:)

4

0 回答 0