0

基本上,我想要一个 @MappedSuperclass 为所有扩展实体定义代理 id 生成:

@MappedSuperclass
public class BaseEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    private Long id;

    ...
}

如果我有 3 种类型的具体实体,EntityA、EntityB 和 EntityC,我希望看到如下所示的 SEQUENCE_TABLE:

SEQUENCE_NAME  |  NEXT_VAL
--------------------------
EntityA           11
EntityB           31
EntityC           101

...每个序列都是独立的,仅用于其对应的实体。使用 DataNucleus 可以轻松实现这样的事情吗?理想情况下,我想避免为每个@Entity 声明一个@TableGenerator。Hibernate 使用“prefer_sequence_per_entity”属性提供了这种行为,但我更喜欢 DataNucleus 的其他一些功能。

4

1 回答 1

1

简短的回答:不。

更复杂的答案:不,但是如果他们需要,有人可以贡献这样的东西。也就是说,它是少数人感兴趣的特性,并且有很大的缺点,因为在许多情况下它不能使用,特别考虑到与 BaseEntity 的关系,为 BaseEntity 选择了什么继承,以及需要能够确定相关对象

于 2013-06-10T07:09:53.420 回答