ユーザーとアイテムを一致させるために、次のモデルを使用しています。問題はuser_item、MySQL テーブルの生成されたテーブルにidとの 2 つの列しかないことdateです。userそこにitemはありません。それは期待されていますか?これら 2 つの列が存在し、それぞれ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>();
}
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 を持つことです。ここで私の理解が正しくないのはなぜですか?