java - Spring 数据JPA : query ManyToMany

标签 java spring jpa spring-data spring-data-jpa

我有实体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 的所有测试?

最佳答案

以下方法签名将满足您的需求:

List<Test> findByUsers_UserName(String userName)

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

关于java - Spring 数据JPA : query ManyToMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40103790/

相关文章:

java - OpenJPA 1 - 未创建序列表

Intellij 的 Spring 加载设置

java - 服务层在 spring 应用程序中绑定(bind)到 DB 技术

java - 如何使用jpa映射select中的子查询

java - Tomcat Eclipse 插件默认参数?

java - eclipse 中的 build.xml 不构建 jar

java - 使用 Jenetics 创建基因型时的限制

java - 在 DynamicReports 上创建图表以按年份比较销售额

java - spring boot + redis cache + @Cacheable 适用于某些方法而不适用于其他方法

hibernate - 注释 - JAR 依赖项