首页 > 其他分享 >【JPA】@Modifying 注解

【JPA】@Modifying 注解

时间:2023-03-24 23:02:51浏览次数:64  
标签:entityManager name JPA Modifying user query 注解 id

工作中看到JPA中有一个@Modifying的用法,故此记录一下

JDK1.8

Springboot2

JPA

Oracle

 

之前一直用的是这样的写法:

String updateQuery = "UPDATE user SET name = :name WHERE id = :id";
EntityManager entityManager = entityManagerFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
Query query = entityManager.createNativeQuery(updateQuery);
query.setParameter("name", newName);
query.setParameter("id", id);
query.executeUpdate();
transaction.commit();
entityManager.close();

或者是这样的写法:

User user = new User();
user.setId(id);
user.setName(newName);
userRepository.save(user); // userRepository 通过构造器注入

  

 

 

使用@Modifying

@Repository
public interface UserRepository extends JpaRepository<User, Long> {

  @Modifying
  @Query("update User u set u.name = ?1 where u.id = ?2")
  void updateUserNameById(String name, Long id);
  
  @Modifying
  @Query(value = "UPDATE users SET name = :name WHERE id = :id", nativeQuery = true)
  void updateUserNativeQuery(@Param("name") String name, @Param("id") Long id);

}

 

标签:entityManager,name,JPA,Modifying,user,query,注解,id
From: https://www.cnblogs.com/onejay/p/17253582.html

相关文章

  • 元注解
    packageedu.wtbu;importjava.lang.annotation.*;publicclassDemo01{}//Target:表示我们的注解可以用在哪些地方@Target(value={ElementType.METHOD,ElementType.TYP......
  • 内置注解
    packageedu.wtbu;importjava.util.ArrayList;importjava.util.List;@SuppressWarnings("all")//镇压所有警告publicclassDemo01extendsObject{@Override//......
  • 元注解
    前言:什么是注解:注解其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用注解,程序员可以在不改变原有逻辑的情况下,在源......
  • JPA使用in查询构建sql参数问题
    JPA使用in查询构建sql参数问题https://blog.csdn.net/b308175181/article/details/100744622jpa自己构建的sql语句,如要使用in,传参必须用List数组,会自动转化。拼接的Stri......
  • spring-data-jpa使用oracle作为数据源时in查询在1000条以上 ,报ORA_01795的错误
    spring-data-jpa使用oracle作为数据源时in查询在1000条以上,报ORA_01795的错误https://segmentfault.com/a/1190000041913304?sort=votes目的解决项目中使用spring-data-......
  • @Valid 和 @Validated 注解用法
    没有使用注解验证要求:员工的名称不能为空,且长度不能超过10个字符,那么我们以前的做法大致如下:写完,我们启动项目测试下:(1)名称为空情况(2)正常情况(3)超过长度情况可以看......
  • JPA Page 通过RestTemplate传递
    Cannotconstructinstanceoforg.springframework.data.domain.Page 直接上解决方案:构造实现类(因为PageImpl没有构造函数,所以自带的PageImpl无法使用)importor......
  • SpringMVC-lesson04-hellospringmvc-注解开发-2023-03-22
    真实开发-注解开发1、<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XM......
  • JPA/Hibernate:基于版本的乐观锁并发控制
    比方说,我们有一个系统由多个用户使用,其中每个实体可以被多个用户修改。我们希望避免这种情况:两个人的加载一些信息,基于他们所看到的做出一些决定,然后在相同的时间。更新状态......
  • Spring全家桶中各个注解的用法
    1.@ResponseBody@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XM......