当前位置: 首页 > 知识库问答 >
问题:

使用spring data jpa更新单个字段

唐炳
2023-03-14
@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);

共有1个答案

秦安怡
2023-03-14

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

@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返回值是更新的行数。您还可以使用voidreturn。

 类似资料:
  • 如何使用Spring Rest Controller和Spring Data JPA仅更新从@刚体传递的实体属性? 员工实体: 服务类方法: 请求体: Hibernate更新查询: Spring Data JPA正在尝试将company_id设置为空以进行更新,即使我没有将其传递给请求体?但是如果我从数据库中得到实体,使用employee_id传递,然后如果我试图保存(),那么它的工作正常。 我想

  • 是否可以在不需要其他字段的情况下更新学生对象的单个字段?假设我想更新年级字段。

  • 还是使用现有endpoint更好?使用现有endpoint的一个问题是,驱动程序有很多字段(几乎30个),发送所有这些字段只是为了更新“启用”或“禁用”驱动程序是一些过分的东西。 你觉得呢?

  • 我有一个要求,我必须使用Itext在PDF表单中填充值。 表单i具有多个具有相同字段名的字段。概念是在PDF表单字段名称通用的情况下填充相同的值。 因此,如果有两个或更多名为txtSysTime的字段,那么代码应该在所有字段中填充系统时间。 我的问题基本上是 Itext是否支持这种功能? 如果可能的话,我们怎么能做同样的事情呢 我正在使用以下代码进行相同的尝试: 使用此代码,第一个同名字段中的值将

  • 问题内容: 我看到这对笨论坛 考虑以下代码 这显然是您在Codeigniter中这样做的方式 实际上这是行不通的。我看了一下生成的SQL,结果甚至没有提到联接。 有谁知道如何使用Codeigniter的Active Record数据库类对联接进行更新? 问题答案: 我发现的一种解决方案是完全删除联接并将联接条件移到“ where”函数中,此外,您还需要更改更新字符串以包括新表。

  • 问题内容: 我基本上只是试图更新表中的多个值。最好的方法是什么?这是当前代码: 我要包含的另一个更新是: 谢谢! 问题答案: 用逗号分隔添加多列: 但是,您没有在清理输入内容??这意味着任何随机的黑客都可能破坏您的数据库。看到这个问题:用PHP清理用户输入的最佳方法是什么? 另外,样式是数字还是字符串?我假设一个字符串,所以需要用引号引起来。