编程语言
首页 > 编程语言> > java – Play Framework – 如何从超类继承?

java – Play Framework – 如何从超类继承?

作者:互联网

我有一个扩展Model的User类,以及我想扩展User类的两个类.

User.java

@Entity
@Table(name = "users")
public class User extends Model implements RoleHolder {

    private static final long serialVersionUID = 1L;

    @Id
    public Long id;

...

Driver.java:

public class Driver extends User {
...

Customer.java:

public class Customer extends User {
...

编辑
需要直接访问所有三个实体.换句话说,我有用户,客户和司机;客户和驱动程序碰巧共享用户的所有属性.因此,我需要有一个有效的用户实体以及客户和驱动程序.

我需要能够获得所有用户(包括客户和驱动程序)的列表.

我无法弄清楚如何在Play中使用ebean来完成这项工作.我怎样才能做到这一点?

解决方法:

要使User表具体,可以使用@Inheritance注释.有关该问题的讨论,请参见Play Framework 2 Ebean and InheritanceType as JOINED.

也可以使用@OneToOne手动为驱动程序和客户加入辅助表.

使用@OneToOne也有利于组合而不是继承,这被认为是一种很好的做法.

标签:java,playframework,playframework-2-0,ebean
来源: https://codeday.me/bug/20190529/1180765.html