Hibernate的错

来源:百度知道 编辑:UC知道 时间:2024/05/22 13:09:48
我们JAVA的项目原来是用的MYSQL数据库,现在要改到SQL SERVER上,表语句我改了下,连接池也改了下可以运行了,但有几个页面老报这个错,求高手帮助,谢谢,我改怎么解决,请写的详细点,是代码问题还是表的主外健关系出错了,但我看过表应该是没问题的

javax.servlet.ServletException: JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.GenericJDBCException: could not execute query
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:518)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:173)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)

你sql语句有问题。
你前面选择了 newbook.bookname 这个字段 但是后面 group by 或者其他聚合函数的时候没有用到这个字段。

比如一个表 学生表 里面2个字段 学号 班级。
select 学号,班级 from 学生表 group by 班级
这样是不对的。
要么把学号去掉,要么在group by的后面加上学号 即 group by 班级,学号

建议你看下group by的用法。

mysql和sql的语法又一些差别。
建议下你自己构建的hql语句。另外,数据库方言改了没有?