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(员工角色表)
在这里谢过了! 展开
代码如下: (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(员工角色表)
在这里谢过了! 展开
1个回答
展开全部
不用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();
}
});
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询