hibernate里的sql select id,sec_to_time(avg(time_to_sec(st)+ if(st <'06:00:00',86400,0))) from testst 为time类型 这个sql在hibernate里怎么写就怎么报错! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select id,sec_to_time(avg(time_to_sec(st)+ if(st <'06:00:00',86400,0))) from test 估计if这个函数hibernate不支持 你要看看你要写的是hql还是sql,sql语句能用的hql不一定能用。也可以在hibernate里绕过hql而运行sql语句query = session.createSQLQuery(sql) query = session.createSQLQuery(sql)我试过了,但还是报错啊 问一下sec_to_time这个不是SQL带的功能函数吧? 如果不是when: 1) 必须有明确的对象设计的时候才能用 Hibernate. 2) 数据库是用大量的存储过程实现的 不能用 Hibernate !!! 3) 如果多表查询, 也要慎重 Hibernate, 查询顺序不可预料(createSQLQuery(手写查询语句)) 这是书上写的,我的理解是用存储函数的时候HB会发生不可预料的错误 hibeante语句有很多限制,你可以尝试用case when 语句取代if 你的sql语句能在数据中执行吗能在数据库中执行就可以用hibernate的原生sql hibernateSession.createSQLQuery() 楼主这个帖子发了2遍,明显是 HQL 里面没有 sec_to_time 这种 fuction。那个帖子都给你回了。唉 用case when 没有问题滴 奇怪我用jdbc就没问题,用hibernate里case when 还是存在问题! 各位,请教一个问题!!!在线等。。 jsp与sql server2005 关于客户端点击刷新按钮后跳转到登录界面的问题 大家谁有过滤手机号 QQ号的JAVA代码吗 struts新手提问?? hibernate中出现的副本的问题!! 如何捆绑JBuild x 和Tomcat5 感谢 zez 的讲解 关于会话bean的问题 Java类的有参方法如何理解 在Linux下启动Tomcat端口被占,换端口一样被占,什么原因啊? 请大家个点建议
估计if这个函数hibernate不支持
也可以在hibernate里绕过hql而运行sql语句query = session.createSQLQuery(sql)
1) 必须有明确的对象设计的时候才能用 Hibernate.
2) 数据库是用大量的存储过程实现的 不能用 Hibernate !!!
3) 如果多表查询, 也要慎重 Hibernate, 查询顺序不可预料(createSQLQuery(手写查
询语句)) 这是书上写的,我的理解是用存储函数的时候HB会发生不可预料的错误