2016-10-06 14 views
1

良い時刻!私は、Hibernateとの多対多関係の作成にいくつか問題があります。これは、テーブルの一意性制約に参加で作成します。私は、この表に特定のユーザーのための唯一の1行を持つことができますHibernate多対多関係は不要なユニーク制約を作成します

"uk_bapa98k9j6y66sqniad6k680l" UNIQUE CONSTRAINT, btree (users_id)

だから、同じuser_idを持つ別の1行を挿入しようとすると、エラーが発生します。

どう

ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ERROR: duplicate key value violates unique constraint "uk_bapa98k9j6y66sqniad6k680l" Подробности: Key (users_id)=(1) already exists

このテーブルにHibernateがユニーク制約を追加するのを禁止することはできますか?

答えて

0

@Idを使用してエンティティフィールドに注釈を付ける場合、IDは一意である必要があります。 USERS.user_idには多対多の関係にかかわらずUnicity制約が必要です。

+0

users.user_idには一意制約があり、それは主キーであるため正常です。しかし、なぜそれが結合テーブルのユニークを持っていますか? –

0

エンティティのコレクションには@ElementCollectionを使用しないでください。埋め込み可能なタイプまたは単純なタイプのコレクションに使用されます。

+0

この注釈を削除すると、新しい例外が発生します:javax.persistence.PersistenceException:org.hibernate.PersistentObjectException:detachedエンティティがpersistに渡されました –

関連する問題