Java Hibernate HQL问题, 如何修改或改用别的更方便的方法做出来?

JavaHibernateHQL问题,如何修改或改用别的更方便的方法做出来?代码如下:(HQL语句出错)org.hibernate.QueryException:coul... Java Hibernate HQL问题, 如何修改或改用别的更方便的方法做出来?
代码如下: (HQL语句出错)
org.hibernate.QueryException: could not resolve property: name of: com.demo.pojo.TDep [select d.name,kq.kqDate,kq.reason from com.demo.pojo.TKqinfo as kq left join kq.TUserses as u left join u.TDep as d where kq.reason is not null and kq.approve is null and u.gid = ?]
这个HQL我要得出来一个List<Object[]>类型, 这里报错了, 怎么修改呢?

或者有没有更方便的方法, 不用HQL, 用其他方法得出这个结果?
表关系如图.
TDep(部门表)
TKqinfo(员工考勤信息表)
TUser(员工表)
TRole(员工角色表)

在这里谢过了!
展开
 我来答
百度网友29fb7fe
推荐于2016-02-14 · TA获得超过949个赞
知道小有建树答主
回答量:165
采纳率:100%
帮助的人:107万
展开全部
不用HQL当然可以,用SQL,你把sql写好,然后作为参数调用hibernate里的一个方法,这个方法名的中文意思就是:根据sql查询。然后这个方法返回的就是一个List<Object[]>类型。
更多追问追答
追问
你好, SQL写好了, select DISTINCT d.groupname,kq.kqDate,kq.reason from t_kqinfo as kq,t_users as u, t_dep as d where kq.reason is not null and kq.approve is null 
and u.gid = 1 接着Hibernate能粘贴方法出来吗? 给分谢谢
追答
session.createSQLQuery("你的sql语句“).list();

如果你用的是hibernate3 里面和spring整合后,还用了HibernateTemplate的话,可以照着以下写一个回调函数:
public List findListBySql(final String sql) throws Exception {
return (List) this.getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
return session.createSQLQuery(sql).list();
}
});
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式