2

我现在将 Play Framework 2 与 Ebean 一起使用,但看起来问题适合任何 JPA ORM,因此请随意建议 Hibernate、TopLink 和其他解决方案。

我想为社交网络构建设计一些基类。在我看来,它应该是类层次结构,其中每个类都有很少的基本字段,如 id、名称、描述和与其他类的关系。框架用户可以继承这些类并通过添加必填字段来专门化它们。让我们考虑一个例子:

框架类

@MappedSuperclass
class AbstractUser {
    @Id
    Long id;
    String login;
    String password;

    @ManyToMany
    Set<AbstractGroup> groups;
}

@MappedSuperclass
class AbstractGroup {
    @Id
    Long id;
    String name;
}

我的社交网络使用框架类

@Entity
class MyUser extends AbstractUser {
    String name;
    String surname;
}

@Entity
class MyGroup extends AbstractGroup {
    String groupDescription;
}

我在这里想要的只是用很少的字段扩展 AbstractUser 和 AbstractGroup 类并保持它们的关系。

如果没有 JPA,它可以用泛型来解决,例如,或者可以用 DI。但是如何用 JPA 实现这样的想法呢?可能吗?

4

0 回答 0