我只需要弄清楚为什么我的角色集合在保存(添加)后不会填充成员属性。我有两个表,用户和角色,以及连接表 UserRole。
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 表只包含两列,userId 映射到 User 的 id,roleId 映射到 Role 中的 id。
我传递了一个带有名称、密码和一组角色的用户对象。此列表中的每个角色仅填充了 id。UserRole 表已正确保存,但我希望在保存后,我的 User 对象中的 Set 将填充权限和名称属性。
这些属性使用相同的映射填充在普通的“获取”用户中,我希望它在“保存”后会做同样的事情。