0
オブジェクト間にmany-to-many
の関係を確立したいと考えています。 私はBook
クラスを持っている:MappingException:外部キーは、参照された主キーと同じ列数を持つ必要があります
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long book_id;
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(name = "UserHibernate", joinColumns = {
@JoinColumn(name = "user_id", nullable = false, updatable = false) },
inverseJoinColumns = { @JoinColumn(name = "book_id",
nullable = false, updatable = false) })
private Set<User> user;
そして、私が持っているUser
クラス:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToMany(fetch=FetchType.EAGER, cascade = CascadeType.ALL, mappedBy="user")
private List<Book> books;
私は他のテーブルを持っていません。私は<property name="hibernate.hbm2ddl.auto" value = "create" />
を持っていますので、私は休止状態が私のためにテーブルを作成することを期待しています。
私は例外を以下の取得:
Caused by: org.hibernate.MappingException: Foreign key (FK_6ipoxvx8h128sx13eysun7r00:UserHibernate [book_id])) must have same number of columns as the referenced primary key (UserHibernate [user_id,book_id])
誰が間違っているかを調べるために私を助けてもらえますか?