Java Hibernate createSQLQuery using addEntity
我需要应用与此类似的 SQL 查询。
SELECT
id as id,
c03 as c03,
c34 as c34
FROM
(SELECT
id,
c03,
c34
FROM
students
where
c34 in(
?, ?,?,?
)
order by
id desc) o
group by
c34;
还有我的Java代码。
private final void retrieveStudents(){
final List result = currentSession()
.createSQLQuery("SELECT id as id,c03 as c03,c34 as c34 FROM (SELECT id,c34,c03 FROM students where c34 in(:filters) order by id desc) o group by c34;")
.setParameterList("filters",Arrays.asList(74,1812))
.list();
result.forEach(this::consumer1);
}
返回一个 objets 数组,我可以迭代,但我想返回一个 Student 对象,所以我添加。
.addEntity(Student.class)
但是抛出一个错误,它说
Column 'ACTIVE' not found.
我也尝试过使用.addScalar,但同样的事情发生了。
.addScalar("id",org.hibernate.type.IntegerType.INSTANCE)
.addScalar("c03",org.hibernate.type.DateType.INSTANCE)
这是来自学生的一列,但不在投影上,我的问题我怎么能这样做,我只是认为以某种方式应用别名会Hibernate填充学生实体。
我想要的只是一个填充了id,c03,c34值的学生对象。
我做错了什么,这可能吗?