Hibernate之update(2)——报错query must begin with SELECT or FROM

简介:
 
hibernate自带HQL一般只用于查询语句,而增删改需要在query执行之后再调用query.executeUpdate();

但是经测试后一直报异常如下:
org.hibernate.QueryException: query must begin with SELECT or FROM:
 
原因:
hibernate 配置文件hibernate.cfg.xml里 解析hibernate 查询语言为2.X版本。

 解决办法:
<property name="hibernate.query.factory_class">
        org.hibernate.hql.classic.ClassicQueryTranslatorFactory </property>

将其改为3.X
<property name="hibernate.query.factory_class">
       org.hibernate.hql.ast.ASTQueryTranslatorFactory
</property> 
 
或者
 

2.x :hibernate.query.factory_class=org.hibernate.hql.classic.ClassicQueryTranslatorFactory   

3.x:hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory 

 

原帖地址:http://k0441258778983.iteye.com/blog/1042580

参考地址:http://kangzye.blog.163.com/blog/static/3681922320098311461766/


 


 
目录
相关文章
|
4月前
|
Java 数据库连接 应用服务中间件
[已解决]SpringDataJPA+Hibernate在执行executeUpdate()的时候报错 Executing an update/delete query
[已解决]SpringDataJPA+Hibernate在执行executeUpdate()的时候报错 Executing an update/delete query
|
Oracle Java 关系型数据库
hibernate在分层架构中修改数据(update)时遇到的问题!!
hibernate在分层架构中修改数据(update)时遇到的问题!!
|
SQL Java 数据库连接
|
SQL Java 关系型数据库
【hibernate merge】session1.merge(T entity)方法的含义和update方法的区别
注意:  MERGE语句是SQL语句的一种。在SQL Server、Oracle数据库中可用,MySQL、PostgreSQL中不可用。   1》session1.merge(T entity) 合并实体的方法。
1032 0
|
Java 数据库连接 数据库
hibernate persist update 方法没有正常工作(不保存数据,不更新数据)
工程结构 问题描述 在工程中通过spring aop的方式配置事务,使用hibernate做持久化。在代码实现中使用hibernate persit()方法插入数据到数据库,使用hibernate update()方法更新数据。
1162 0
|
Java 数据库连接 数据库
Hibernate save, saveOrUpdate, persist, merge, update 区别
Hibernate Save hibernate save()方法能够保存实体到数据库,正如方法名称save这个单词所表明的意思。我们能够在事务之外调用这个方法,这也是我不喜欢使用这个方法保存数据的原因。
1347 0
|
SQL Java 数据库连接
Hibernate更新某些字段的几种update方法
Hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍。 比如: view plaincopy to clipboardprint? public class TeacherTest { @Test public void update(){ Session session = Hibern
3851 0