小编典典

Spring Data JPA:查询ManyToMany

spring

我有实体UserTest

@Entity
public class User {
    private Long id;
    private String userName;
}

@Entity
public class Test {
    private Long id;

    @ManyToMany
    private Set<User> users;
}

我可以按用户实体获得所有测试:

public interface TestRepository extends JpaRepository<EventSettings, Long> {
    List<Test> findAllByUsers(User user);
}

但是我可以使用哪个查询查找所有测试userName


阅读 490

收藏
2020-04-20

共1个答案

小编典典

以下方法签名将使你想要:

List<Test> findByUsers_UserName(String userName)

这是使用Spring Data JPA 的属性表达式功能。签名Users_UserName将转换为JPQL x.users.userName。请注意,这将对给定的用户名执行完全匹配。

2020-04-20