我正在使用以下模型来匹配用户和项目。问题是user_item
在 MySQL 表中生成的表中只有两列id
和date
. user
并且item
不在那里。是预期的吗?我希望这两列应该存在并分别存储 和 的user
id 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>();
}
用户.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 = "id")
public User user;
@ManyToOne
@JoinColumn(name = "id")
public Item item;
public Date date;
...
}
编辑:我期望的是该item_user
表将具有列user
,item
并且将具有 long 类型并存储相应对象的 id。为什么我的理解在这里不正确?