gpt4 book ai didi

java - JPARepository 和 Hibernate 返回给定 ID 的结果?

转载 作者:行者123 更新时间:2023-12-02 11:20:26 25 4
gpt4 key购买 nike

用户和任务之间存在一对多关系(一个用户有多个任务)。

SQL:

SELECT G.accountability, G.title, G.interval, G.description, U.user_name
FROM user U
LEFT OUTER JOIN GOAL G on (G.USER_ID = U.USER_ID)

我将数据插入数据库,其中每个任务中都有一个与用户 ID 的外键关联。在 JPA 中是否可以本质上说:

Given the user ID here are all the tasks

这是我的简单存储库

import com.habicus.core.model.Goal;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface GoalRepository extends JpaRepository<Goal, Long> {
}

最佳答案

您可以使用以下查询选择任务,该查询将使用 userId 加入任务。

@Query("select task from User user join user.task task where user.id = :userId")
List<Task> getTasksByUserId(@Param("userId") Integer userId)

如果您想选择特定列作为查询,则如下所示。

@Query("select task.accountability, task.title, task.interval, task.description, user.user_name from User user join user.task task where user.id = :userId")
List<Object[]> getTasksByUserId(@Param("userId") Integer userId)

如果选择第二个选项,您也可以使用投影。请引用here更多细节。

关于java - JPARepository 和 Hibernate 返回给定 ID 的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49961405/

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