【问题标题】:Should method which use JpaRepository save() method return something?使用 JpaRepository save() 方法的方法是否应该返回一些东西?
【发布时间】:2020-09-04 17:18:23
【问题描述】:

我有一个关于使用 JpaRepository 保存的问题。 我的实体及其服务实现有一个存储库。例如:

public Obj saveObj(Obj o) {
  return repo.save(obj);
}

问题:如果我不将保存结果设置为其他 Obj,这是返回 Obj 的好方法吗? 例如:

public void myMethod() {
  Obj obj = buildObj();
  servise.saveObj(obj);
}

saveObj(Obj o) 方法中返回的主要原因是我需要它进行测试。 很乐意听取您的建议。

【问题讨论】:

  • 如果你需要它来返回一些东西。存储库方法已返回对象,但您可以根据实际需要在服务类中自行决定。

标签: java hibernate jpa


【解决方案1】:

我认为答案是“视情况而定”。

当您在数据库中使用序列或自动增量 PK 并且在创建实体 ID 后需要实体 ID 时,您需要返回该对象。

如果您需要将它向上传递到调用堆栈以执行 ACL 检查或记录等操作,您可能还需要返回它。

但在某些情况下,我们可能只是更新单个列(字段),而您不需要将整个对象保留在内存中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-22
    • 2011-10-31
    • 2019-06-30
    • 1970-01-01
    • 2021-04-22
    • 2018-02-07
    • 2023-03-04
    相关资源
    最近更新 更多