Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过@ManyToOne进行HQL查询筛选_Java_Hibernate_Hql_Many To One - Fatal编程技术网

Java 通过@ManyToOne进行HQL查询筛选

Java 通过@ManyToOne进行HQL查询筛选,java,hibernate,hql,many-to-one,Java,Hibernate,Hql,Many To One,我有一个与角色有关系的UserClass: @Entity @Table(name="USERS") @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorValue("ROLE_ADMIN") @DiscriminatorColumn (name="ROLENAME", discriminatorType= DiscriminatorType.STRING, length=20) @DiscriminatorO

我有一个与角色有关系的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中,我有insert/edit/delete。。。函数,也是一个为我提供所有用户列表的函数:

@Override
@SuppressWarnings("unchecked")
public List<User> getUsers() {
    return getCurrentSession().createQuery("from User").list();
}
@覆盖
@抑制警告(“未选中”)
公共列表getUsers(){
返回getCurrentSession().createQuery(“来自用户”).list();
}
现在,我的问题是:我想构建另一个函数,它为我提供所有具有我传递给该函数的角色之一的用户:

public List<User> getUsers(List<Role> roles)
public List getUsers(列表角色)
我该怎么做?我必须传递ID列表,还是传递角色列表比较好

在这两种情况下,如何编写WHERE条件


谢谢

谢谢,我传递了一个角色id列表,并用IN关键字创建了查询