首页 > 解决方案 > 如何加入获取关联的子关系

问题描述

我有以下星座:

public final class ApplicationUser {

private final @Id
@Wither
long applicationUserId;

@NotNull
@Size(min = 4, max = 20)
private final
String login;

@NotNull
@Email
private final
String eMail; 

@Wither
private Set<Privilege> privileges;
}

现在我想通过一个简单的 sql 来ApplicationUser查询login一个Query
我现在的问题是:
是否有任何与 jpa 的 join fetch 相关的 spring-data-jdbc 相关的东西,以便我可以Set<Privilege> privileges在一个声明的查询中获取关联?
还是我必须像这样触发另一个查询:

  1. ApplicationUser通过登录查询
  2. Privilege通过外键查询applicationuser

谢谢

标签: spring-data-jdbc

解决方案


您的回答描述了执行此操作的默认方法。如果您想避免额外的选择,您可以使用包含连接的语句并使用 aResultSetExtractor来构造您的实体。

优点:在运行时更高效。

缺点:为您提供更多工作。


推荐阅读