【发布时间】:2018-09-03 16:24:40
【问题描述】:
我有以下实体关系:
@Entity
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(columnDefinition = "serial")
private Long id;
@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY)
private List<Child> children;
}
和子实体:
@Entity
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(columnDefinition = "serial")
private Long id;
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private Parent parent;
}
我使用 Spring JPA 存储库,因此对于调用数据,我使用默认方法 parentRepository.findOne(id)
我需要获取父实体的列表,其中每个父实体将获取有限大小的子实体,例如 10。
您能否告诉我是否可以使用 JQPL 或 HQL 以及此选择是什么样的?提前致谢。
编辑:
我没有尝试像这样使用休眠注释@BatchSize:
@BatchSize(size = 5)
@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY)
private List<Child> children;
但是没有用,当我获取父级时,所有子级都被获取了。
【问题讨论】:
-
@MadhusudanaReddySunnapu 嗨,很抱歉我的问题表述错误。现在我对其进行编辑,您可以看到为什么这个问题对我来说不是解决方案。我不能为父母的 id 为“X”的孩子做反向选择,因为我还需要选择父母名单,他们的孩子数量有限。
-
我也怀疑这是否可能。通过stackoverflow.com/questions/26328187/…
标签: hibernate jpa spring-data-jpa hql jpql