一、service层事务(update/delete)

  1. @Transactional(rollbackFor = Exception.class)

二、@Query()参数设置

?x  和:XX不能混用

  1. package cc.ash.test;
  2.  
  3. import org.springframework.data.jpa.repository.JpaRepository;
  4. import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
  5. import org.springframework.data.jpa.repository.Modifying;
  6. import org.springframework.data.jpa.repository.Query;
  7. import org.springframework.data.repository.query.Param;
  8.  
  9. public interface StuDao extends JpaRepository<Stu, Long>, JpaSpecificationExecutor<Stu> {
  10. //主键类型
  11. @Modifying
  12. @Query(value = "update Stu wxpay set stu.name = :name, stu.alias = :alias, " +
  13. "stu.age = :age where stu.id = :id")
  14. void updatePayState(@Param("name") String stuName,
  15. @Param("alias") String stuAlias,
  16. @Param("age") int stuAge,
  17. @Param("id") String stuId);
  18.  
  19. @Modifying
  20. @Query(value = "update Stu wxpay set stu.name = ?1, stu.alias = ?3, " +
  21. "stu.age = ?2 where stu.id = ?4")
  22. void updatePayState(String stuName,
  23. int stuAge,
  24. String stuAlias,
  25. String stuId);
  26.  
  27. @Modifying
  28. @Query(value = "update Stu s set s.name = :#{#stu.name}, s.age = :#{#stu.age}, " +
  29. "s.alias = :#{#stu.alias} where s.id = :#{#stu.id}")
  30. int updatePayState2(@Param("stu") Stu stu);
  31. }

2.实体类

  1. package cc.ash.test;
  2.  
  3. import lombok.AllArgsConstructor;
  4. import lombok.Data;
  5. import lombok.NoArgsConstructor;
  6.  
  7. import javax.persistence.*;
  8.  
  9. @Data
  10. @Entity
  11. @NoArgsConstructor
  12. @AllArgsConstructor
  13. @Table(name = "tbl_stu", indexes = {@Index(name = "idx_索引名字", columnList = "建立索引的属性")})
  14. public class Stu {
  15.  
  16. @TableGenerator(
  17. name = "StuGenerator",
  18. table = "tbl_stu",
  19. pkColumnName = "app_seq_name",
  20. pkColumnValue = "tbl_stu_seq",
  21. valueColumnName = "app_seq_value",
  22. initialValue = 1000,
  23. allocationSize = 1
  24. )
  25.  
  26. @Id
  27. @GeneratedValue(strategy = GenerationType.TABLE, generator = "WxpayFundFlowGenerator")
  28. private Long id;
  29.  
  30. @Column(columnDefinition = "varchar(10) COMMENT '名字'")
  31. private String name;
  32.  
  33. //省略
  34. private int age;
  35. private String alias;
  36. }

jpa @Query()参数设置,:冒号方式、?NO.问号方式、实体类对象参数设置的更多相关文章

  1. @NamedEntityGraphs --JPA按实体类对象参数中的字段排序问题得解决方法

    JPA按实体类对象参数中的字段排序问题得解决方法@Entity @Table(name="complaints") @NamedEntityGraphs({ @NamedEntit ...

  2. springmvc关于前台日期作为实体类对象参数类型转换错误

    页面报错: 后台错误: Field error in object 'user' on field 'birthday': rejected value [2013-06-24]; codes [ty ...

  3. JAVA之等号、传类对象参数与c++的区别

    在JAVA中用等号对类对象进行赋值,实际上操作的是对象的地址. eg: package MyText; class ClassA { int value; public void seta(int v ...

  4. JPA使用nativequery多表关联查询返回自定义实体类

    本文为JPA的学习采坑,如有问题欢迎指正. JPA官方推荐的多表关联查询使用不便,接触的有些项目可能会使用JPA 做简单查询,Mybaits做复杂查询.所以想要寻找一种好用的解决方案. JPA多表关联 ...

  5. 将Model实体类对象作为WebService接口参数(转)

    转自:http://www.cnblogs.com/fengyishou/archive/2009/02/27/1399281.html 关于web服务的有关基础知识,看了基本书,但是不敢在这里乱说, ...

  6. 分享知识-快乐自己:SpringMvc整合遇到-前台传JSON参数,后台实体类对象接收

    前台数据转JSON对象: /** * * @param $myFrom:from表单 * @returns {{}} */ function from($myFrom) { var ebookEntr ...

  7. 关于controller层用实体类接收参数为null的问题

    如果你的表单标签中包含enctype="multipart/form-data"属性,那么请将它删掉<form action="xxxxxxx" id=& ...

  8. struts2 action 页面与action参数的传递的三种方式

    第一种: 初始页面: <form action="LoginAction.action" method="post"> 用户名:<input ...

  9. idea 从数据库快速生成Spring Data JPA实体类

    第一步,调出 Persistence 窗口. File—>Project Structure—>model—> + —>JPA 第二步:打开 Persistence窗口 配置 ...

随机推荐

  1. python列表展开的方法

    只有一层嵌套的常见方法: # 普通方法 list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]] list_2 = [] for _ in list_1: list ...

  2. python装饰器使用详解

    装饰器 '''装饰器:就是闭包(闭包的一个应用场景) -- 把要被装饰的函数作为外层函数的参数通过闭包操作后返回一个替代版函数 优点: -- 丰富了原有函数的功能 -- 提高了程序的可拓展性''' 开 ...

  3. 华为 huawei 查看系统中存在的安全风险信息 display security risk

    查看系统中存在的安全风险信息. 应用场景 由于协议自身的安全性能不同,用户配置时使用的某些协议可能存在安全风险.通过该命令可查看系统中存在的安全风险,并根据给出的修复建议解除风险.例如,用户配置了SN ...

  4. Appendix 2- Lebesgue integration and Reimann integration

    Lebesgue integration and Reimann integration: Reimann: Split up the axis into equal intervals, then ...

  5. 大数据之Zookeeper概述

    Zookeeper概述 Zookeeper是一个开放源码的分布式应用程序协调服务,是 Google的Chubby一个开源的实现,是 Hadoop和 HBASE的重要组件.主要解决分布式应用一致性问题. ...

  6. 链表分割——牛客剑指offer

    题目描述: 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode pHead,请返回重新排列后的链表的头指针.注意:分割以后 ...

  7. 怎样理解 Vue 项目的目录结构?

      Vue 项目的目录结构如下, 我们将会在后面逐个去了解它们的作用: 01. build - 存储项目构建相关的代码, 比如 webpack. 02. config - Vue 的配置目录,包括端口 ...

  8. sql server 多条数据字段合并及创建临时表 FOR XML PATH

    SELECT 字段=(SELECT b.合并字段+',' FROM 表一 AS b WHERE b.相同条件=a.相同条件 FOR XML PATH('')) FROM 表一 AS a DECLARE ...

  9. 设计模式及UML图

    UML图 1. 依赖关系

  10. Ioc和Aop底层原理

    Spring中主要用到的设计模式有工厂模式和代理模式. IOC:Inversion of Control控制反转,也叫依赖注入,通过 sessionfactory 去注入实例:IOC就是一个生产和管理 ...