栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用spring-data-jpa更新实体?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用spring-data-jpa更新实体?

实体的身份由其主键定义。由于

firstname
lastname
不是主键的一部分,因此您不能告诉JPA将
User
具有相同
firstname
s和
lastname
s的s视为相等(如果它们具有不同的
userId
s)。

因此,如果要更新

User
firstname
和标识的ID
lastname
,则需要
User
通过查询找到该ID
,然后更改找到的对象的相应字段。这些更改将在事务结束时自动刷新到数据库,因此您无需执行任何操作即可显式保存这些更改。

编辑:

也许我应该详细介绍一下JPA的整体语义。设计持久性API的主要方法有两种:

  • 插入/更新方法 。当需要修改数据库时,应显式调用持久性API的方法:调用

    insert
    以插入对象或将对象的
    update
    新状态保存到数据库。

  • 工作单元方法 。在这种情况下,您有一组由持久性库 管理 的对象。您对这些对象所做的所有更改将在工作单元结束时自动刷新到数据库中(在典型情况下,即在当前事务结束时)。当您需要向数据库中插入新记录时,可以将相应的对象设置为 Managed受管 对象由其主键标识,因此,如果使用预定义的主键来 管理 对象,则该对象将与具有相同ID的数据库记录相关联,并且该对象的状态将自动传播到该记录。

JPA遵循后一种方法。

save()
Spring Data JPA中的JPA由
merge()
纯JPA 支持,因此,它使您的实体如上所述受到 管理
。这意味着调用
save()
具有预定义ID的对象将更新相应的数据库记录,而不是插入新的数据库记录,并说明了为什么
save()
不调用
create()



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/569264.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号