Spring数据JPA按查询计数

zil*_*anu 2 hibernate jpa spring-data-jpa

我有包含课程集的用户,而U只需要获取学生注册的课程数即可。我不希望ti加载学生,因为这会加载整个学生图形对象,并带有诸如地址等属性。是否可以使用spring数据jpa来获取计数。

Ran*_*eet 6

您可以在StudentRepository中添加如下所示的方法(假设您的实体Student pk为ID,并将属性名称设置为Courses)

@Query("select size(s.courses) from Student s where s.id=:id")
long countCoursesByStudentId(@Param("id") long id);
Run Code Online (Sandbox Code Playgroud)

或者,您也可以在CourseRepository中添加如下所示的计数方法(假设课程与学生,pk和属性名称分别为id和student的ManyToOne关系)

long countByStudentId(long id);
Run Code Online (Sandbox Code Playgroud)