今天在設定JPA一對多OneToMany的實體時,查詢結果出現重複的結果。例如一個部門(Department)有多個員工(Employee),而Department
物件中用來取得與Employee
關聯的List<Employee> employeeList
中出現重複的結果
解決辦法是不要在@OneToMany
的屬性設定fetch=FetchType.EAGER
,原因為FetchType.EAGER
在查詢時使用OUTER JOIN來取得關聯實體物件。(不過我在資料庫用LEFT OUTER JOIN
試了一下並沒有重複,還是不懂為什麼...。)
參考:
沒有留言:
張貼留言