gpt4 book ai didi

java - 这个 add() 函数如何工作,为什么返回 null?

转载 作者:行者123 更新时间:2023-12-01 10:28:37 25 4
gpt4 key购买 nike

在 Spring 中为对象数组编写代码时,我有以下代码:

TaskList parent_list = repo.findOne(listId);

Task t = new Task();
// set fields for t

parent_list.getTasks().add(t);
repo.save(parent_list);

在这里,repoTaskList 的存储库s,并且是 JpaRepository 的扩展在 Spring Data JPA 中。 parent_list包含一些关于其自身的数据(名称、所有者)和 List<Task> .

我的问题是,在调用 save() 之前,add() 函数是如何工作的?为什么我不需要返回一个值(即需要执行 parentList.setTasks(parent_list.getTasks().add(t)); )?

由于repo.save(),我得到一个空对象。 .

我只有 TaskList 的存储库对象,而不是 Task 。我的印象是不需要额外的 repo 协议(protocol);您所需要的只是与第一个表中的表建立关系,并且条目会自动保存。

最佳答案

我假设 TaskList 之间存在一对多关系和TaskTaskList返回其任务 getTasks()返回 List<Task> 的方法。通过方法add()您将新元素添加到列表中。魔法来了 - List由 hibernate 提供,当新项目添加到列表或从列表中删除时,它有特殊的处理。一旦您保留这些操作,它将运行 SQL 查询/更新/删除,将您的更改传播到数据库中。

关于java - 这个 add() 函数如何工作,为什么返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35218278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com