org.postgresql.util.PSQLException:错误:“)”处或附近的语法错误

Raz*_*zor 10 java postgresql hibernate

这是我必须从数据库和运行时检索学生列表的 DAO 方法 -

org.postgresql.util.PSQLException:错误:“)”处或附近的语法错误

这让我发疯。谁能告诉我我可能错过了什么?

public List<Student> getStudentsByIds(List<Integer> studentIds) {
    Session session = SessionFactoryUtils.getSession(getSessionFactory(), true);
    SQLQuery query = session.createSQLQuery("SELECT * FROM students s WHERE s.id IN (:studentIds)");
    query.setParameterList("studentIds", studentIds);
    return query.list();
}
Run Code Online (Sandbox Code Playgroud)

fyr*_*kov 10

可能studentIds是一个空列表,postgres 不接受生成代码中的空 IN 子句

select 
...
where
    students.id in (

    )
Run Code Online (Sandbox Code Playgroud)