我在项目中使用Spring with Hibernate。我希望使用Hibernate标准让用户获得特定角色。我的用户模型使用@ManyToMany
注释与角色模型连接:
@ManyToMany(fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
@JoinTable(
name = "user_role",
joinColumns = {@JoinColumn(name = "user_id")},
inverseJoinColumns = @JoinColumn(name = "role_id")
)
public Set<Role> getRoles() {
return roles;
}
这是我UserDaoHibernate
中的标准:
public List<User> getUsersByRole(List<Role> roles) {
List users = getSession().createCriteria(User.class)
.add(Restrictions.in("roles", roles)).list();
return users;
}
执行此条件时,我收到DataIntegrityViolationException。我错过了什么,或者是否有任何正确的方式让用户获得他们的角色?