假设有如下sql代码
select * from tb_brand as a inner join (select spid,sum(sl) as sl,sum(je) as je from tb_sell where xsdate between '2003-01-01' and 2009-01-01' group by spid ) as b on a.id=b.spid order by je desc
在用Connection中执行没问题.
我想在Hibernate中利用session.createQuery这个方法来执行这条sql语句时候出现了问题,提示错误是 没有设置方言
可是我在配置文件中已经设置好了,其他的方法执行也好使,唯独这个不行,我又写了一个测试的语句
select * from tb_brand 这个用session.createQuery方法就可以顺利执行.
找了一些资料session.createQuery这个方法的参数必须是原生的sql语句,起初我以为我的sql编写有问题,但是我在查询分析器中测试了,一切正常,就是不知道为什么出错,请高手指教一下,谢谢
select * from tb_brand as a inner join (select spid,sum(sl) as sl,sum(je) as je from tb_sell where xsdate between '2003-01-01' and 2009-01-01' group by spid ) as b on a.id=b.spid order by je desc
在用Connection中执行没问题.
我想在Hibernate中利用session.createQuery这个方法来执行这条sql语句时候出现了问题,提示错误是 没有设置方言
可是我在配置文件中已经设置好了,其他的方法执行也好使,唯独这个不行,我又写了一个测试的语句
select * from tb_brand 这个用session.createQuery方法就可以顺利执行.
找了一些资料session.createQuery这个方法的参数必须是原生的sql语句,起初我以为我的sql编写有问题,但是我在查询分析器中测试了,一切正常,就是不知道为什么出错,请高手指教一下,谢谢
方言在hibernate.cfg.xml里设置 String sql = "select * from tb_brand as a inner join (select spid,sum(sl) as sl,sum(je) as je from tb_sell where xsdate between '2003-01-01' and 2009-01-01' group by spid ) as b on a.id=b.spid order by je desc ";
SQLQuery sqlQuery = session.createSQLQuery(sql);
List list = sqlQuery.list();
我别的Hibernate方法都好使~~