티스토리 뷰

Dev/JPA

@OneToMany :: 계층형

Happy Anko♡ 2017. 6. 5. 20:05

 ※부서는 하위 부서정보를 갖는다. 


@Data

@Entity

@Table(name = "dept")

public class Department implements Serializable {

    private static final long serialVersionUID = 1L;


    @Id

    @GeneratedValue

    @Column(name = "dept_id")

    private int deptId;

    

    @Column(name = "pdept_id")

    private int pdeptId;

    

    @Column(name = "mem_id")

    private int memId;

    

    

     @OneToMany(fetch=FetchType.EAGER, cascade = CascadeType.ALL)

     @JoinColumn(name = "pdept_id")

     private List< Department > children = new LinkedList<>();

}


@Repository

public class DepartmentRepository {


@PersistenceContext

private EntityManager entityManager;


public List< Department > findDisplayCategoryList(int deptNo) {

Q Department department = QDepartment.department;

JPAQuery query = new JPAQuery(entityManager);

query.from(department.department);

query.where(department.pdeptId.eq(deptNo));

return query.list(QDepartment.department);

}

}


이렇게 하면 계층형 오브젝트를 반환한다!


하지만 쿼리는 N+1번 실행되고.... 성능은 엄청 떨어져 어마무시한 고통을 만나게될것같다..

다른 방법을 찾아봐야지!

'Dev > JPA' 카테고리의 다른 글

@OneToMany :: 계층형 + Join  (0) 2017.06.08
[JPA] OneToMany 오류  (1) 2017.03.21
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함