使用 spring data jpa 更新单个字段

2024-04-25

我正在使用 spring-data 的存储库 - 非常方便,但我遇到了一个问题。我可以轻松更新整个实体,但我相信当我只需要更新单个字段时这是毫无意义的:

@Entity
@Table(schema = "processors", name = "ear_attachment")
public class EARAttachment {

    private Long id;
    private String originalName;
    private String uniqueName;//yyyy-mm-dd-GUID-originalName
    private long size;
    private EARAttachmentStatus status;

要更新我只需调用方法保存。在日志中我看到以下内容:

batching 1 statements: 1: update processors.ear_attachment set message_id=100, 
original_name='40022530424.dat', 
size=506, 
status=2,
unique_name='2014-12-16-8cf74a74-e7f3-40d8-a1fb-393c2a806847-40022530424.dat'
where id=1 

我希望看到这样的东西:

batching 1 statements: 1: update processors.ear_attachment set status=2 where id=1 

Spring 的存储库有很多工具可以使用名称约定来选择某些内容,也许有类似的更新,如 updateForStatus(int status);


您可以在存储库界面上尝试类似的操作:

@Modifying
@Query("update EARAttachment ear set ear.status = ?1 where ear.id = ?2")
int setStatusForEARAttachment(Integer status, Long id);

您还可以使用命名参数,如下所示:

@Modifying
@Query("update EARAttachment ear set ear.status = :status where ear.id = :id")
int setStatusForEARAttachment(@Param("status") Integer status, @Param("id") Long id);

int 返回值是更新的行数。您还可以使用void return.

查看更多内容参考 http://docs.spring.io/spring-data/data-jpa/docs/current/reference/html/#jpa.modifying-queries文档。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 spring data jpa 更新单个字段 的相关文章

  • 单击片段中的按钮不起作用

    我在片段中有一个按钮 对于该按钮 我重写了 onClick 方法 但它不起作用 单击按钮时 我也有一个 Taost 和一个日志 public class DataShown extends Fragment implements OnCli
  • Spring Data Mongo 无法找到 Enum 的 PersistentEntity

    编辑 我发现了一个相关问题here https stackoverflow com questions 28972455 does spring data mongodb support enums 但仅有的两个答案相互矛盾 并且没有足够的
  • 如何在命令提示符下运行Java程序

    我创建了一个 Java 项目来调用 Web 服务 它有一个主 java 文件和另一个类文件 我已经为 HTTP 客户端使用了一些 jar 文件 在 Eclipse 中运行良好 我需要通过传递一些参数在命令提示符下运行 Java 程序 在命令
  • Java 字符串的细微差别

    class Test public static void main String s1 null null shows compile time error String s1 null String s2 s1 null runs fi
  • Twitter Bootstrap 等前端技术的后端技术 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这是一个类似菜鸟的问题 但我们开始吧 我读过 Twitter Bootstrap 以及其他演示框架 它为设计者 程序员提供了轻松构建
  • Apache Tomahawk 文件上传不工作

    我在使用 Apache Tomahawk 时遇到问题 Glassfish 3 0 1 不断记录 警告 JSF1064 无法从库 org apache myfaces custom 中找到或提供资源 inputFileUpload xhtml
  • 输入流返回 NullPointerException (Java)

    以下是出现 NullPointerException 错误的代码 InputStream is getAssets open twentyone txt InputStreamReader iz new InputStreamReader
  • 生成总和为 N 的所有数字排列

    我正在编写一个程序来创建所有数字 起初 我尝试使用分区函数对数字进行分区 然后对每个数字集进行排列 但是我认为这行不通 最好的方法是递归排列 同时对数字求和 这超出了我的能力范围 抱歉 如果这听起来真的很愚蠢 但我真的不知道 Example
  • 在 Java 中引发竞争条件

    我必须编写一个引发竞争条件的单元测试 以便我可以测试稍后是否可以解决问题 问题是竞争条件很少发生 可能是因为我的计算机只有两个核心 代码如下 class MyDateTime String getColonTime datetime is
  • Spring Boot 中的 spring.jpa.open-in-view=true 属性是什么?

    I saw spring jpa open in view trueSpring Boot 文档中用于 JPA 配置的属性 Is the true如果根本没有提供此属性的默认值 这到底有什么作用 我没有找到任何好的解释 它让你使用Sessi
  • 尽管 CRC 错误,仍强制 gzip 解压缩

    我认为有办法做到这一点 但我不确定如何做 基本上 我正在编写一个压缩程序 当我尝试解压缩压缩数据时 该程序导致了 crc 错误 通常 这意味着解压缩器实际上将我的数据识别为正确的格式并将其解压缩 但是当它将结果与 CRC 指示的预期长度进行
  • Android:如何按下软键盘上方的按钮

    我有一个 保存 按钮 我想将其与软键盘一起按下 因此 当用户单击布局中的 EditText 时 按钮必须保持在键盘上方 现在该按钮隐藏在键盘下方 你怎么做到这一点 提前致谢 您需要将键盘的输入模式设置为adjustResize 您可以通过将
  • 企业 Web 应用程序中的 JavaFX - 经典网页的良好替代方案?

    我们为不同的客户开发了多种 Web 应用程序 从为那些可怜的管理员提供的简单 看起来很无聊的 CRUD 风格的 GUI 到为那些互联网用户提供的奇特的 AJAX 增强型 GUI 所有这些都基于 JSF 1 2 与 JBoss Seam 2
  • 尝试让 GUI 使用 arrayList 在牌组中打印随机卡

    所以我目前正在用java开发一个卡牌战争游戏 我试图让 GUI 屏幕使用 arrayList 从一组卡片图像中打印 2 张随机卡片 必须使用它进行分配 卡片图像文件名为 1 png 2 png 52 png 并存储在 image card
  • 在 Java、Android 上从 Youtube 下载视频的代码

    我创建了从 Youtube 下载视频的代码 但此代码不适用于 Wi fi 连接 但适用于移动连接 我哪里有错误 import java io File import java io FileOutputStream import java
  • Android:如果我将serialVersionUID 添加到旧的可序列化对象中,会发生什么?

    如果您采用从未显式指定过serialVersionUID的旧可序列化对象 并将serialVersionUID添加到该对象 会发生什么情况 在我看来 下次最终用户更新应用程序时 它会尝试反序列化光盘中的数据 发现serialVersionU
  • Eclipse/Idea 忽略 Maven Java 版本配置

    I have
  • ServletContext 和 Session 对象

    我们从请求对象 HttpServletRequest 获得的 ServletContext 和 Session 对象的行为是否相同 会话是特定于用户的 Servlet 上下文本质上是全局的 在该 Servlet 的上下文内 这意味着访问该
  • ConcurrentLinkedDeque 与 LinkedBlockingDeque

    我需要一个线程安全的 LIFO 结构 并发现我可以使用线程安全的实现Deque为了这 Java 7 引入了ConcurrentLinkedDeque http docs oracle com javase 7 docs api java u
  • 线程安全框架

    以下类不是线程安全的 如证明以下代码不是线程安全的 https stackoverflow com questions 2410499 proving the following code not thread safe 是否有一个框架可以

随机推荐

  • 在 YouTube 数据 API 中使用 LiveChat 的配额费用是多少?

    我们目前正在将 YouTube Data API 用于名为 CameraFi Live 的直播应用程序 首先 我们想知道使用 LiveChatMessages 的配额成本 YouTube 数据 API v3 配额计算器 https deve
  • 为 iOS6.0 ARMv7 处理器构建 FFMPEG 库

    WARNING 我刚刚被另一位用户告知 在 iOS 上使用 FFMPEG 存在一些法律问题 请在此处留下链接http multinc com 2009 08 24 compatibility Between the iphone app s
  • 将 props 传递给每个组件

    我正在类内部通过 React Router 渲染一堆路由 我需要组件能够访问正在触发渲染的类的实例 因为它将包含服务工厂的实例等 但是 我找不到任何有关将 props 传递到通过 React Router 渲染的组件的信息 或者对我来说更有
  • 无法在 Windows 7 上使用 Rcpp 从源代码进行编译

    我正在 Windows 7 虚拟机上运行新安装的 R 3 3 并尝试安装我自己的使用 Rcpp 的 R 包 该软件包可在GitHub https github com pbsag tcadr 我已经安装了 Rtools 以及两者Rcpp a
  • OpenGL ES 2.0 iPhone - 在后台线程块主线程上渲染

    我在后台线程上使用与主线程不同的 EAGLContext 渲染 OpenGL 上下文 我用这样的东西 void renderInBackground EAGLContext context EAGLContext alloc init EA
  • Xcode 4 没有代码完成

    我已经使用 Xcode 4 两周了 我注意到我没有获得 if else 和 switch 语句的代码完成宏 就像这篇文章描述的那样 http macdevelopertips com xcode xcode code completion
  • 为什么我的 postgresql 函数插入回滚?

    我有以下功能 CREATE OR REPLACE FUNCTION Sensor PersistTelemetry sid character varying measurement character varying val numeri
  • Python-将字符串转换为数组

    如何使用 Python 将以下字符串转换为数组 该字符串可能有无限数量的项目 Foo Bar Baz Woo 这绝对也是一个字符串表示形式 type gave
  • R中的withCallingHandlers抛出错误时如何继续函数

    我正在为 R 函数编写一个测试用例 用于测试函数中的某个点是否抛出错误并正确捕获错误 当在 withCallingHandlers 执行期间抛出错误时 我在继续测试时遇到了一些问题 我正在使用这种方法 counter lt 0 withCa
  • 解析末尾带有值修饰符('-'、'%')的字符串

    我尝试着去掌握解析 我有一些数据来自de de格式在字符串末尾带有附加信息 我设法使 de de 部分正确 但我很难得到 and 解析正确 我读了codecvt但我不明白这个话题 这是我迄今为止所理解的反映以及我需要做的事情的示例 incl
  • 错误仍然存​​在~“fullscreen_content_controls 无法解析或不是字段”

    我是一名 Android 开发新手 在尝试创建一个打开新布局的按钮时遇到了一些障碍 当我这样做时 我遇到了一些错误 无论我如何尝试 这些错误都不会消失 作为回应 我复制了大部分从原始结构更改的 xml 文件和 java 文件 并将它们添加到
  • NestJS 初始化和传递请求上下文的最佳实践是什么

    我有一个全局拦截器 需要初始化我自己的请求上下文 DTO 并且我希望可以在处理当前请求的控制器中访问此 DTO 到目前为止我找到的解决方案是创建 Request 范围内的可注入 RequestContext 类 import Injecta
  • Google 地点自动完成 Vue.js

    我正在尝试在 Vue js 中实现 Google Places Autocomplete The API 指出 https developers google com maps documentation javascript refere
  • C++ 线程处理时出错,std::invoke:

    好吧 这些是我的错误 std invoke 找不到匹配的重载函数 和 无法专门化函数模板 unknown type std invoke Callable Types noexcept 我真的需要你们的帮助 我对 C 还很陌生 所以我希望您
  • Visual Studio 远程调试器“对内存位置的访问无效”功能

    这是解决所述问题的另一种尝试here https stackoverflow com questions 13878778 visual studio 2012 remote debugging 不幸的是 该主题在没有找到足够解决方案的情况
  • Golang:我可以投射到 chan 接口吗{}

    我正在尝试为订阅编写一个通用包装器 例如 type Subscriber interface Subscribe addr string chan interface 假设有一个我想使用的库 其中有一个 subscribe 方法 但它使用c
  • 如何在 Rails Devise 中自动生成密码?

    我正在尝试 Devise 如何与我的一个项目一起进行用户身份验证 有一个用户要求他们的管理员应该能够不时生成一批用户名和用户密码 然后管理员将新的用户名和密码通过电子邮件发送给他的用户 假设管理员具有 MySQL 数据库上的直接 SQL 知
  • constexpr double Point::* coords[3] 到底是如何工作的? [复制]

    这个问题在这里已经有答案了 所以我一直在看一些东西并找到了这个线程以 C 方式对结构和数组进行别名 https stackoverflow com questions 48463521 aliasing struct and array t
  • 实施 Facebook 广告时出现错误

    无法找到提供商信息com facebook katana provider PlatformProvider 当我安装 Facebook 应用程序时 不会发生此错误 但会发生另一个错误 E NativeCrypto ssl 0x5ced13
  • 使用 spring data jpa 更新单个字段

    我正在使用 spring data 的存储库 非常方便 但我遇到了一个问题 我可以轻松更新整个实体 但我相信当我只需要更新单个字段时这是毫无意义的 Entity Table schema processors name ear attach