spring-data-jpa - updateQuery 返回 1 但它没有反映在 db 中(spring data jpa)
问题描述
但更新适用于以下代码片段
Department department= departmentRepository.findOne(300L);
department.setName("rajiv");
departmentRepository.saveAndFlush(department);
但是这种情况是单色调映射,这可能是我最终会遇到 3 个查询的情况,其中包括 2 个选择查询和一个更新查询。为了优化我更新它的方式,我正在尝试使用这种没有得到更新的方法,因为 executeUpdate() 将受影响的行返回为 1 。
解决方案
是的,这可能会有所帮助,如果是spring数据,我找到了一种使其可更新的方法,并且因为他们坚持使用@transactional并扩展jparepository的功能,现在它只命中了一行语句
@Modifying(clearAutomatically = true)
@Transactional(readOnly=false)
@Query("update Department d set d.name =:name where d.id=:id")
int update(@Param("name")String name,@Param("id")Long id);
如果我选择使用 nativeQuery
@Modifying(clearAutomatically = true)
@Transactional(readOnly=false)
@Query(value="update Department d set d.name =:name where d.id=:id",nativeQuery=true)
int update(@Param("name")String name,@Param("id")Long id);
推荐阅读
- android - 如何创建一个新的 Android Wear 项目并在设备上运行它?
- android - dex文件过多
- excel - 工作簿中的额外列 - 需要一种删除它们的好方法
- html - 选择选项时显示已选中
- java - 看似随机的 tika 性能问题
- hyperledger-fabric - 创建同意者时出错:无法恢复持久的 raft 数据:无法创建或读取 WAL:无法打开 WAL:fileutil:文件已锁定
- flutter - 为什么我的 Navigator.push,在抽屉里没有上下文?
- php - 浏览器呼叫代理会议
- sql - 将两个不同文件中的 XML 放入一个 SQL 表中
- android - 添加 jar 库时出错。什么可能出错?