我有一个VO类,它也有另一个VO类的getter和setter。例如:
Class DocumentVO{
PrintJobVO job;
PrintRunVO run;
String id;
getters and setters..
}
现在我需要使用spring hibernate来使用Native SQL Query。当我想映射ID时,我遇到了问题。我的查询是,
select {r.*},{d.*}
from runs {r}, documents {d}
where {r}.RUN_ID as {r.id} = d.RUN_ID as {d.run.id}
此处run
的类型为PrintRunVO,其id和其他值。如何在SQL中映射它们?我收到的错误如invalid user.table.column, table.column, or column specification
。
克服这个问题的方法是什么?
答案 0 :(得分:1)
在纯SQL查询中使用Result Transformer概念。
String query = "myquery";
SQLQuery q = session.createSQLQuery(query);
q.addScalar("param1", Hibernate.STRING);
q.addScalar("param2", Hibernate.STRING);
q.setResultTransformer(Transformers.aliasToBean(MyVO.class));
q.setParameter("queryParam1", "some value");
return q.list();