如何使用Spring Data JPA @Query注释直接获取学生列表

James Hao

我有两个实体:Group和Student,ManyToMany关系,Group是所有者。

现在,定义一个从JpaRepository扩展的GroupRepository,并希望使用@Query注释声明一个方法,以在给定GroupId的情况下直接获取Student列表。怎么样?

方法的返回值应该是List或Page,只是不知道如何使用查询语言进行定义。

我知道如何获得一个渴望获得该组所有学生的组实体,如下所示:

@Query("select group from Group group left join fetch group.students where group.id=:id")
Group findOneWithEagerRelationships(@Param("id") Long id);

非常感谢您的帮助。

Cepr0

如果您有这样的模型:

@Entity
class Group {

   @Id Ling id;

   @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
   private List<Student> students;

   //...
}

@Entity
class Student {

   @Id Long id;

   @ManyToMany(mappedBy = "groups")
   private List<Group> groups;

   //...
}

然后,要让所有学生通过小组回购,您可以采用以下方法:

interface GroupRepo extends JpaRepository<Group, Long> {
    @Query("select s from Group g join g.students s where g.id = ?1")
    Page<Student> getAllStudentsByGroupId(Long groupId, Pageable pageable);
}

资料来源:12

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Spring Data JPA @Query注释的子句错误

使用Spring Data Jpa获取联接对象

使用Spring Data JPA获取NumberFormatException

Spring Data JPA。如何仅从findAll()方法获取ID列表

如何使用XML配置Spring Data JPA

如何在JPA / Spring-Data JPA中使用审核?

Spring Data JPA:在查询方法上使用@Query注释获取第一条记录

Spring Data JPA的@PersistenceConstructor注释是否可以与Hibernate结合使用?

spring-data-jpa的查询注释

如何使用 Spring Data JPA 从列中获取链接和值?

使用本机查询时如何在Spring Data Jpa中获取Page<Object[]>之类的东西

如何使用Spring Data JPA按实体类名称从表中获取数据

如何使用Spring Data JPA @Query批注从存储库中查询180天的旧用户

无法使用Spring Data JPA搜索对象的嵌套列表

在IN查询中使用Spel的Spring Data JPA @ Query

Spring Data JPA:使用@Query中的属性作为参数

Spring Data(JPA)-在@Query中使用泛型

使用spring-data-jpa @Query注释查找最大查询结果

是否可以在 Spring Data JPA Repository 的 @Query 注释中使用 Oracle Anonymous Block?

如何从数据库中获取用户以使用 Spring Boot 和 Spring Data Jpa 登录

如何避免使用Spring Data JPA + Spring Web MVC在JSON序列化中进行延迟获取?

Spring Data JPA @Query-选择最大

spring data jpa @query是否支持投影?

Spring Data JPA Update @Query不更新?

如何在Spring Data JPA @Modifying @Query查询中更新JPA / Hibernate @Version字段?

如何使用spring-data-jpa更新实体?

如何使用外键在Spring Data / JPA中执行查询?

如何使用 Spring Data JPA 搜索非唯一索引?

如何使用 Spring Data JPA 启用基本缓存