0
我只需要弄清楚爲什麼我的集合中的角色不會在保存(添加)後填充成員屬性。我有兩個表,用戶和角色,以及連接表UserRole。Hibernate:保存多對多連接後,集合不重新填充
public class User implements Serializable {
private int id;
@NotBlank(message = "{User.userName.notBlank}")
@AlphaNumeric(message = "{User.userName.alphaNumeric}")
private String name;
@NotBlank(message = "{User.password.notBlank}")
@AlphaNumeric(message = "{User.password.alphaNumeric}")
private String password;
private boolean enabled;
private boolean deleteSafe;
@NotEmpty(message="{User.roles.notEmpty}")
private Set<Role> roles; <-- this is my problem
這裏是我的Hibernate XML映射
<class name="User">
<id name="id">
<generator class="identity" />
</id>
<property name="name"></property>
<property name="password"></property>
<set name="roles" table="UserRoles" lazy="false">
<key column="userId"></key>
<many-to-many column="roleId" class="Role"></many-to-many>
</set>
</class>
這裏是簡單的角色類
public class Role implements Serializable {
private int id;
private String authority;
private String name;
我的UserRole表只包括兩列,用戶id它映射的id User和roleId,它映射到Role中的id。
我使用名稱,密碼和一組角色傳遞User對象。此列表中的每個角色只有id填充。 UserRole表得到正確保存,但我希望保存後,我的用戶對象中的設置將具有權限和名稱屬性填充。
這些屬性在普通的'get'用戶中使用相同的映射填充,我希望它會在'保存'後做同樣的事情。
感謝,還不如做這種方式。 – FrancisWebDev 2012-07-31 13:09:17