ユーザーとアイテムを一致させるために、次のモデルを使用しています。問題は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 を持つことです。ここで私の理解が正しくないのはなぜですか?