1
次のシナリオ持続しません。私が持っているJPAは、子供たちに
を
ユーザーオブジェクト:
...
@Column(name = "TITLE")
private String title;
@NotNull
@NotEmpty
@Column(name = "STREET_ADRESS")
private String streetAdress;
@NotNull
@NotEmpty
@Column(name = "CITY")
private String city;
...
@OneToMany(fetch = FetchType.EAGER)
@NotNull
@NotEmpty
protected Set<Role> roles = new HashSet<Role>();
Role roleDaoById = roleService.getRoleByName(RoleName.User.toString());
Set<Role> roles = new HashSet<Role>();
roles.add(roleDaoById);
member.setRoles(roles);
member.setSuspend(false);
member.setPlayer(true);
memberService.addMember(member);
私の問題は、役割がですでに利用可能であるということですデータベース。だから私はroleServiceを介してそれらをロードします。 私はmemberService.addMemberを呼び出し、これはem.persist(member)でmy daoを呼び出します。しかし、この呼び出しはロールを再度保存し、ロールオブジェクトのキーエラーが重複してしまいます。 私は、メンバーを保存してから、ロールのための結合テーブル項目を作成したいだけです。
私は何ができますか?
[this](http://stackoverflow.com/questions/7903800/hibernate-inserts-duplicates-into-a-onetomany-collection)は役に立ちますか? – nobeh
あなたの答えは高尚ですが、これがどのように役立つのか分かりませんか? –
具体的には、[この回答](http://stackoverflow.com/a/7905027/248082)を試すことができますか? – nobeh