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