我使用和jpa
,我試圖從jparepository
從父實體和子實體獲取數據。jpa存儲庫findAll與父母和孩子使用可配頁
父實體:
@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註解做到這一點。 有關更多詳細信息,請參閱此答案http://stackoverflow.com/questions/26611173/jpa-jta-transactional-spring-annotation/26615390#26615390 –