我正在研究Spring Data,我对查询有疑问。
我有两个实体之间的关系:
@Entity
public class A {
//other fields
List<B> counter;
//getters and setters
}
@Entity
public class B {
//other fields
Long count;
//getters and setters
}
现在,在我的A类存储库中,我想得到A的所有对象。对于这些对象中的每一个,我想只获得由“count”asc字段排序的B类中的前五个对象或内容描述
我该怎么办?我发现的“前5个元素”或“前5个元素”的例子只对实体A的元素有用,而不是对B有用。
任何帮助将不胜感激。提前谢谢!
更新 也许也可以使用命名查询。如果有人知道如何遵循这种方式并且可以提供帮助,我会很感激。感谢。
答案 0 :(得分:0)
我没有测试过这个。我希望这适合你。 @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
}
提取策略
有四种提取策略
batch-size =“10”或@BatchSize(size = 10) 批量大小提取策略未定义加载集合内部的记录数。相反,它定义了应该加载多少个集合。
请找到链接:http://www.mkyong.com/hibernate/hibernate-fetching-strategies-examples/