0

我是以下方式的实现ItemUser关系。现在我需要对同一对项目和用户有不同的关系。所以我正在考虑另一堂课ItemUser2。可能我需要ItemUserBase并从中扩展ItemUser1等等ItemUser2。如果ItemUserBase扩展Model,则将在数据库中创建一些提取表,但ItemUserBase应该是抽象的。你怎么看?

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

项目.java

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

    ...

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

用户.java

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

    ...

    @OneToMany(cascade = CascadeType.ALL, mappedBy="item")
    public List<UserItem> userItems = new ArrayList<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;

    ...
}
4

1 回答 1

0

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

于 2013-10-24T11:35:54.083 回答