gpt4 book ai didi

java - Spring:如何从JPA中的两个表中获取数据

转载 作者:行者123 更新时间:2023-11-29 10:50:07 24 4
gpt4 key购买 nike

在下面的代码中,我想从订单表和用户表中获取数据,如何修改我的查询以便实现此目的? user_id是订单表中的外键

public interface OrderRepository extends JpaRepository<Order, Long> {
@Query("Select o from Order o where o.customer.id= :customerId and o.orderStatus='DELIVERED'")
List<Order> orderHistory(@Param("customerId") long customerId);
}

最佳答案

要获取带有订单的客户,请执行加入获取

JOIN FETCH 表达式不是常规 JOIN,并且它不定义 JOIN 变量。它的唯一目的是指定应在同一往返中从数据库中获取查询结果的相关对象。使用此查询可以提高结果 Country 对象的迭代效率,因为它消除了单独检索关联的 Capital 对象的需要。 http://www.objectdb.com/java/jpa/query/jpql/from

public interface OrderRepository extends JpaRepository<Order, Long> {
@Query("Select o from Order o inner join fetch o.customer as customer left join fetch o.user as user where customer.id= :customerId and o.orderStatus='DELIVERED'")
List<Order> orderHistory(@Param("customerId") long customerId);
}

关于java - Spring:如何从JPA中的两个表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43884365/

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