`
zhanyingle_1981
  • 浏览: 320653 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JPA Query 注意事项一

    博客分类:
  • Java
阅读更多

1.  错误: org.hibernate.QueryParameterException: could not locate named parameter[incidentTime]

     错误的语句:

String sql = "UPDATE SLIIncident o SET o.isDeleted = :isDeleted WHERE o.rawEventId = :rawEventId AND o.sliId = :sliId";
   Query query = em.createQuery(sql);
  
  query.setParameter("incidentTime", incident.getIncidentTime());
  query.setParameter("insertTime", incident.getInsertTime());
  query.setParameter("preEventTime", incident.getPreEventTime());
  query.setParameter("causeCode", incident.getCauseCode());
  query.setParameter("isDeleted", incident.getIsDeleted());
  query.setParameter("rawEventId", incident.getRawEventId());
  query.setParameter("sliId", incident.getSliId());
  
  query.executeUpdate();

 

原因:

     query.setParameter set了不需要的字段,不知道往哪插了。

 

正确代码:

 

    String sql = "UPDATE SLIIncident o SET o.isDeleted = :isDeleted WHERE o.rawEventId = :rawEventId AND o.sliId = :sliId";
   Query query = em.createQuery(sql);
  
  query.setParameter("isDeleted", incident.getIsDeleted());
  query.setParameter("rawEventId", incident.getRawEventId());
  query.setParameter("sliId", incident.getSliId());
  
  query.executeUpdate();

 

2. 

错误:

org.hibernate.hql.ast.ErrorCounter reportError- line 1:94: unexpected token: AND

java.lang.IllegalArgumentException: node to traverse cannot be null!

    

错误的语句:

//String sql = "UPDATE SLIIncident o SET o.isDeleted = :isDeleted WHERE o.rawEventId = :rawEventId AND o.sliId = :sliId";
  String sql = "UPDATE SLIIncident o SET o.incidentTime = :incidentTime AND o.insertTime = :insertTime AND o.preEventTime = :preEventTime AND o.causeCode = :causeCode AND o.isDeleted = :isDeleted WHERE o.rawEventId = :rawEventId AND o.sliId = :sliId";
  
  //String sql = "UPDATE SLIIncident o SET o.incidentTime = :incidentTime,o.insertTime = :insertTime, o.preEventTime = :preEventTime, o.causeCode = :causeCode, o.isDeleted = :isDeleted WHERE o.rawEventId = :rawEventId AND o.sliId = :sliId";
  
  Query query = em.createQuery(sql);
  
  query.setParameter("incidentTime", incident.getIncidentTime());
  query.setParameter("insertTime", incident.getInsertTime());
  query.setParameter("preEventTime", incident.getPreEventTime());
  query.setParameter("causeCode", incident.getCauseCode());
  query.setParameter("isDeleted", incident.getIsDeleted());
  query.setParameter("rawEventId", incident.getRawEventId());
  query.setParameter("sliId", incident.getSliId());
  
  query.executeUpdate();

原因:

     同时更新多个字段时不需要AND,而应该是逗号,

 

正确代码:

 

    //String sql = "UPDATE SLIIncident o SET o.isDeleted = :isDeleted WHERE o.rawEventId = :rawEventId AND o.sliId = :sliId";
  //String sql = "UPDATE SLIIncident o SET o.incidentTime = :incidentTime AND o.insertTime = :insertTime AND o.preEventTime = :preEventTime AND o.causeCode = :causeCode AND o.isDeleted = :isDeleted WHERE o.rawEventId = :rawEventId AND o.sliId = :sliId";
  
  String sql = "UPDATE SLIIncident o SET o.incidentTime = :incidentTime,o.insertTime = :insertTime, o.preEventTime = :preEventTime, o.causeCode = :causeCode, o.isDeleted = :isDeleted WHERE o.rawEventId = :rawEventId AND o.sliId = :sliId";
  
  Query query = em.createQuery(sql);
  
  query.setParameter("incidentTime", incident.getIncidentTime());
  query.setParameter("insertTime", incident.getInsertTime());
  query.setParameter("preEventTime", incident.getPreEventTime());
  query.setParameter("causeCode", incident.getCauseCode());
  query.setParameter("isDeleted", incident.getIsDeleted());
  query.setParameter("rawEventId", incident.getRawEventId());
  query.setParameter("sliId", incident.getSliId());
  
  query.executeUpdate();

 

 

0
0
分享到:
评论

相关推荐

    JPA查询实例解析,jpa Query查询

    Jpa详细查询实例介绍,教你如何使用JPA,简单,分类实例。

    优秀实践分享 Spring Data JPA2

    JPA 使用@Query注解实现JPQL和本地自定义查询 JPA API 条件查询 (子查询,多表连接查询) JPA结合QueryDSL轻松完成复杂查询(自连接,多表连接查询) 参与文档: Pro JPA2中文版:精通Java持久化API 优秀博文读书笔记: ...

    JPA开发流程课件以及注意事项

    介绍使用Myeclipse6.x开发JPA的详细过程以及注意事项

    在JPA的@Query注解中使用limit条件(详解)

    下面小编就为大家带来一篇在JPA的@Query注解中使用limit条件(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JPA教程JPA教程JPA教程

    JPA教程JPA教程JPA教程JPA教程JPA教程

    JPA源文件/jpa学习

    jpa jpa规范 jpa源码 jpa jpa规范 jpa源码

    JPA教程,包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注

    包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注

    让JPA的Query查询接口返回Map对象的方法

    下面小编就为大家分享一篇让JPA的Query查询接口返回Map对象的方法,具有很的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    jpa4-query.sql

    时间宝贵,为了节约用者时间,该资源中包括4张已经建好的表:employee/department/phone/project/中间表,只需要下载添加至mysql数据库即可用

    hibernate-jpa-named-query-xml-annotation-example.zip

    This tutorial show how to use Hibernate/JPA Named Queries. We start by explaining why we would use named queries. Next, we show an example of how to use named queries, either with annotations or XML ...

    jpa例子jpajpa

    jpajpajpajpajpajpajpajpajpajpajpajpajpa

    JPA开发手册

    清单1在非Java EE环境使用JPA接口的例子 5 清单2在容器中运行的JPA例子 5 3. Entity Bean 6 3.1定义对Entity中属性变量的访问 6 3.2主键和实体标识(Primary Key and Entity Identity) 8 4. EntityManager 9 4.1配置...

    尚硅谷JPA视频教程

    JPA视频_PPT及源码 · 1. JPA视频_概述 · 2. JPA视频_HelloWorld · 3. JPA视频_基本注解 · 4. JPA视频_Transient注解 · 5. JPA视频_Temporal注解 · 6. JPA视频_Table主键生成策略 · 7. JPA视频_...

    JPA 开发指导文档

    主要内容: JPA 体系架构 Entity Bean EntityManager JPA Query

    使用JPA中@Query 注解实现update 操作方法(必看)

    下面小编就为大家带来一篇使用JPA中@Query 注解实现update 操作方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    jpa-queryfier:一个以简化方式创建JPQL / SQL JPA Query对象的库。-开源

    这是一个库(更确切地说是一对非常简单的类),旨在简化JPA Query对象的创建,这些对象特别具有以下特征:*是用JPQL或SQL编写的SELECT查询; *在SELECT查询中具有多个参数(是否为可选参数)。

    JPA

    JPA

    JPA 标注 JPA标签手册

    这是JPA标签配置手册,从ORACLE官方得到的资料,里面对JPA所有的标签都进行详细的说明。 Index of Annotations • A o @AssociationOverride o @AssociationOverrides o @AttributeOverride o @AttributeOverrides ...

    jpa 关联映射jpa 关联映射jpa 关联映射

    jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联...

    spring data jpa 教程

    第一章:Spring Data JPA入门 包括:是什么、能干什么、有什么、HelloWorld等 第二章:JpaRepository基本功能 包括:代码示例JpaRepository提供的CRUD功能,还有翻页、排序等功能 第三章:JpaRepository的查询 ...

Global site tag (gtag.js) - Google Analytics