我有与角色有关系的UserClass:
@Entity
@Table(name="USERS")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorValue("ROLE_ADMIN")
@DiscriminatorColumn (name="ROLENAME", discriminatorType= DiscriminatorType.STRING, length=20)
@DiscriminatorOptions(force = true)
public class User extends BaseEntity implements UserDetails {
@ManyToOne
@JoinColumn(name = "role_id", referencedColumnName="id")
@NotNull(message = "Il campo RUOLO è obbligatorio")
private Role role;
//others fields
//getter & setter
}
在UserDAO中,我有插入/编辑/删除...功能以及给我所有用户列表的功能:
@Override
@SuppressWarnings("unchecked")
public List<User> getUsers() {
return getCurrentSession().createQuery("from User").list();
}
现在我的问题:我想构建另一个函数,它给了我所有具有我传递给函数的角色之一的用户:
public List<User> getUsers(List<Role> roles)
我该怎么做?我是否必须传递一个ID列表,或者它通过了一个角色列表?
在这两种情况下,我如何编写WHERE条件?
由于