从零开始接触jpa,工作中偶遇update问题
来源:互联网 发布:mac mini 更新时间 编辑:程序博客网 时间:2024/06/05 11:11
今天在用jpa写update语句时碰到了2个问题
public interface RRyxxbMapper extends JpaRepository<RRyxxb, Integer>, JpaSpecificationExecutor<RRyxxb> { @Query("update RRyxxb set bzzt = ?2 where rid=?1") void updateRRyxxb(Integer rid,Integer bzzt); }
运行报错:
org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations
发现不支持DML操作
百度发现需要@Modifying支持,改为如下:
public interface RRyxxbMapper extends JpaRepository<RRyxxb, Integer>, JpaSpecificationExecutor<RRyxxb> { @Modifying @Query("update RRyxxb set bzzt = ?2 where rid=?1") void updateRRyxxb(Integer rid,Integer bzzt); }运行继续报错:
Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException
分析应该是缺少事务,加入@Transactional
@Transactional(rollbackFor = Exception.class) public String update(Integer rid,Integer bzzt){ String message = "0"; if(rid!=null&&bzzt!=null){ try { rRyxxbMapper.updateRRyxxb(rid, bzzt); message = "1"; } catch (Exception e) { System.out.println(e.getMessage()); } } return message; }运行ok,解决了!
0 0
- 从零开始接触jpa,工作中偶遇update问题
- java web学习过程中偶遇的中文乱码问题
- 偶遇尴尬 MyBatis 问题
- 工作中接触的linux命令记录
- 工作接触
- 使用JPA中@Query 注解实现update 操作
- 2016年工作中遇到的问题1-10:select-for-update锁表
- JPA中ManyToMany关系问题
- JPA中ManyToMany关系问题
- spring+jpa中配置问题
- 偶遇
- 偶遇
- 偶遇
- 偶遇
- 偶遇
- 偶遇
- 偶遇
- 偶遇
- Hadoop name启动为standby状态shell命令报错
- Android 反编译工具使用
- Android开发篇之对象序列化
- 条件随机场(CRF) - 1 - 简介
- jsp/html简单的打印功能实现
- 从零开始接触jpa,工作中偶遇update问题
- Git仓库完整迁移方案
- 金蝶行政事业版V8.1多用户授权机
- Oracle的AWR报告分析
- RecyclerView.ItemAnimator终极解读(二)--SimpleItemAnimator和DefaultItemAnimator源码解析
- stdafx.h(38) : fatal error C1083: 无法打开包括文件:“afxcontrolbars.h”解决办法
- 背包问题的自己理解
- zigzag相关题目
- GCC安装和使用的几个notes