【发布时间】:2017-04-18 01:24:20
【问题描述】:
我正在使用spring boot 和jpa,我正在尝试使用jparepository 从父实体和子实体获取数据。
父实体:
@Entity
@Table(name = "parent")
public class Parent {
@Id
private int id;
private String name;
@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY)
private Set<Child> children;
}
子实体:
@Entity
@Table(name = "child")
public class Child {
@Id
private int id;
private String name;
private int parent_id;
@ManyToOne
@JoinColumn(name = "parent_id", referencedColumnName = "id")
private Parent parent;
jpaRepository:
public interface ParentRepository extends JpaRepository<Parent, Integer>, JpaSpecificationExecutor<Parent> {
}
我将 fecth 设置为 FetchType.LAZY 的原因是有时我只想让父母没有孩子。
所以,这是我的问题: 当我使用
parentRepository.findAll(pagable);
结果只包含父母,不包含孩子,但我希望结果包含孩子,在某些情况下我不想要它。怎么写?
【问题讨论】:
-
您可以使用@Transactinal 注解来做到这一点。有关更多详细信息,请参阅此答案stackoverflow.com/questions/26611173/…
标签: spring hibernate spring-data-jpa