我正在使用以下模型来匹配用户和项目。问题是user_item在 MySQL 表中生成的表中只有两列id和date. user并且item不在那里。是预期的吗?我希望这两列应该存在并分别存储 和 的userid 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。为什么我的理解在这里不正确?