玩2框架:抽象模型类

时间:2013-10-19 22:08:21

标签: java database inheritance playframework-2.0

我通过以下方式实现ItemUser关系。现在我需要为同一对项目和用户提供不同的关系。所以我正在考虑另一个班ItemUser2。可能我需要ItemUserBase并从中扩展ItemUser1ItemUser2等等。如果ItemUserBase扩展Model,那么将在数据库中创建一些提取表,但ItemUserBase应该是抽象的。 您的想法是什么?

是否会以某种方式影响加入注释以确保正确性?

Item.java

@Entity
public class Item extends Model {
    @Id
    public Long id;

    ...

    @OneToMany(cascade = CascadeType.ALL, mappedBy="user")
    public List<UserItem> userItems = new ArrayList<UserItem>();
}

User.java

@Entity
public class User extends Model {
    @Id
    public Long id;

    ...

    @OneToMany(cascade = CascadeType.ALL, mappedBy="item")
    public List<UserItem> userItems = new ArrayList<UserItem>();
}

UserItem.java

@Entity
public class UserItem extends Model {
    @Id
    public Long id;

    @ManyToOne
    @JoinColumn(name = "user")
    public User user;

    @ManyToOne
    @JoinColumn(name = "item")
    public Item item;

    public Date date;

    ...
}

1 个答案:

答案 0 :(得分:0)

它实际上是这样的。我将为以后的读者保留代码。