【问题标题】:Using CrudRepository's save使用 CrudRepository 的保存
【发布时间】:2015-10-13 09:13:57
【问题描述】:

使用

org.springframework.data.repository.CrudRepository
<S extends T> S save(S entity);

这两者有什么区别:

entity = crudRepository.save(entity)
crudRepository.save(entity)

似乎没有必要将变量重新引用到 save() 的返回值。

【问题讨论】:

    标签: java spring crud


    【解决方案1】:

    entity = crudRepository.save(entity)

    允许您取回保存新实体时生成的 id。

    【讨论】:

    • 第二种情况下对象有生成的id。
    • javadoc 明确了第二种情况的目的:“使用返回的实例进行进一步的操作,因为保存操作可能已经完全改变了实体实例”docs.spring.io/spring-data/data-commons/docs/current/api/org/…
    • 那么 save 方法是否会更新一些被引用对象的属性并返回一个带有附加属性的新对象?那根本没有意义……
    【解决方案2】:

    sn-p entity = crudRepository.save(entity) 用于当您想要取回已保存的实体以根据它执行进一步的操作时使用。

    documentation 内容如下:

    保存给定的实体。使用返回的实例进行进一步的操作,因为保存操作可能已经完全改变了实体实例。

    【讨论】:

      猜你喜欢
      • 2020-04-02
      • 2021-10-05
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      • 2021-05-24
      • 2021-12-16
      • 1970-01-01
      • 2020-06-09
      相关资源
      最近更新 更多