Hibernate 如何限制spring数据中关系中列表中的结果数
我正在研究Spring数据,我有一个关于查询的问题 我在两个实体之间有关系:Hibernate 如何限制spring数据中关系中列表中的结果数,hibernate,jpa,spring-boot,spring-data,named-query,Hibernate,Jpa,Spring Boot,Spring Data,Named Query,我正在研究Spring数据,我有一个关于查询的问题 我在两个实体之间有关系: @Entity public class A { //other fields List<B> counter; //getters and setters } @Entity public class B { //other fields Long count; //getters and setters } @实体 公共A类{ //其他领域 列表计数器; //接球手和接
@Entity
public class A {
//other fields
List<B> counter;
//getters and setters
}
@Entity
public class B {
//other fields
Long count;
//getters and setters
}
@实体
公共A类{
//其他领域
列表计数器;
//接球手和接球手
}
@实体
公共B级{
//其他领域
长计数;
//接球手和接球手
}
现在,在我的A类存储库中,我想获取A的所有对象。对于这些对象中的每一个,我只想获取B类中按字段“count”asc或desc排序的前五个对象
我怎么做?我发现的“前5个元素”或“前5个元素”的示例只对实体A的元素有用,而对实体B的元素没有用处
任何帮助都将不胜感激。提前谢谢
更新
也许也可以使用命名查询。如果有人知道如何走这条路并能提供帮助,我将不胜感激。谢谢。我没有测试这个。我希望这对你有用。 @BatchSize可用于定义批量加载集合或惰性实体的大小
@Entity
public class A {
//other fields
@Fetch(FetchMode.SELECT)
@BatchSize(size = 10)
List<B> counter;
//getters and setters
}
@Entity
public class B {
//other fields
Long count;
//getters and setters
}
@实体
公共A类{
//其他领域
@Fetch(FetchMode.SELECT)
@批量大小(大小=10)
列表计数器;
//接球手和接球手
}
@实体
公共B级{
//其他领域
长计数;
//接球手和接球手
}
获取策略
有四种抓取策略
请找到链接:我没有测试这个。我希望这对你有用。 @BatchSize可用于定义批量加载集合或惰性实体的大小
@Entity
public class A {
//other fields
@Fetch(FetchMode.SELECT)
@BatchSize(size = 10)
List<B> counter;
//getters and setters
}
@Entity
public class B {
//other fields
Long count;
//getters and setters
}
@实体
公共A类{
//其他领域
@Fetch(FetchMode.SELECT)
@批量大小(大小=10)
列表计数器;
//接球手和接球手
}
@实体
公共B级{
//其他领域
长计数;
//接球手和接球手
}
获取策略
有四种抓取策略
请找到链接:不幸的是,它没有工作。我认为应该在A级仓库里完成,你知道吗?不使用findAll()方法,也许有某种方法可以过滤我想要的特定列表的结果数量。但无论如何,谢谢你的回复。不幸的是,它没有起作用。我认为应该在A级仓库里完成,你知道吗?不使用findAll()方法,也许有某种方法可以过滤我想要的特定列表的结果数量。但无论如何,谢谢你的回复。