Spring data jpa 之 Query update的坑

摘要:
默认情况下,jpa只有save方法。如果数据库中没有记录,将添加新记录。如果数据库中有记录,将更新记录。Java语句可以用EL表达式编写。在@Query注释中,EL表达式可以获取参数列表中的对象。如果不起作用,nativeQuery=true。

jpa默认只有save(Entity)方法,如果数据库中没有记录就新增,如果数据库中有记录就更新记录。

如果要手动添加update(Entity)方法,可以参考这个例子:

  1. @Modifying
  2. @Transactional
    @Query(value = "UPDATE SmallFileEntity s SET s.length = '#{entity.getLength()}' , s.modificationTime = '#{entity.getModificationTime()}', s.accessTime = '#{entity.getAccessTime()}' WHERE s.autoId = '#{entity.getAutoId()}' ", nativeQuery = false)
  3.  
    void updateLengthAndModificationTimeAndAccessTime(SmallFileEntity entity);

上例的重点是将EL表达式用单括号括起来。EL表达式中是可以书写java语句的,在@Query注解中,EL表达式可以取到参数列表中的对象。

实在不行的话,就nativeQuery = true。

免责声明:文章转载自《Spring data jpa 之 Query update的坑》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇QT5.1 调用https全连接层、softmax的loss下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JPA-一对多关系

JPA中,一对多关系使用@OneToMany标示 关系维护端: 1 package com.yl.demo1.bean.oneTomany; 2 3 import javax.persistence.CascadeType; 4 import javax.persistence.Column; 5 import javax.persistenc...

基于JPA的分页/排序实现

Page<ClassOrder> findByMember_MemberID(long id, Pageable pageable);Controller代码: public ModelAndView showsignupclass(int page){ ModelAndView mv=new ModelAndView("/...

application.properties文件配置

  在application.properties文件中配置mysql连接配置文件。 spring.datasource.url = jdbc:mysql://localhost:3306/DatebaseName(自己数据库名)spring.datasource.username = rootspring.datasource.password = 12...

Spring Cloud-hystrix Feign(九)

前面使用ribbon拦截RestTemplate 实现服务的负载均衡 使用Hystrix进行熔断降级请求缓存  用原生的方式 将会有大量的模板代码,feigin就是rabbon和Histrix的整合 同 使用feign只需要通过接口对服务方的绑定 实现多处调用   使用例子 1.引入Pom依赖 <dependency>...

mysql 有就更新 没有就插入

数据持久化的过程中,有时会遇到这样的需求: 当数据库表中存在符合某种条件的数据时,需要去更新它,不存在时,则需要新增,也就是insertOrUpdate操作,本文主要讲解MySQL中的INSERT ... ON DUPLICATE KEY UPDATE语句,该语句是基于唯一索引或主键使用,比如一张表中含有a,b,c三个字段,字段a被加上了unique in...

mybatis动态sql之修改(学习set标签)

EmployeeMapperDynamicSql.java package com.gong.mybatis.mapper; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.MapKey; import com.gong.mybatis...