2013-10-19 119 views
0

我用以下方式實現ItemUser關係。現在我需要爲同一對商品和用戶建立不同的關係。所以我正在考慮另一個班級ItemUser2。可能我需要ItemUserBase並從中擴展ItemUser1ItemUser2等等。如果ItemUserBase延伸Model那麼一些提取表將在數據庫中創建,但ItemUserBase應該是一種抽象。 你覺得呢?玩2框架:抽象模型類

它會以某種方式影響加入註釋以確保正確性?

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; 

    ... 
} 

回答

0

它的工作原理實際上是這樣的。我將爲後來的讀者保留代碼。