2013-10-17 19 views
0

在此先感謝。 我試圖使用「訪問方法」使用獲取&設置方法爲我的Java對象中的字段。 我的問題是我注意到EclipseLink在存儲到數據庫時多次調用getter方法。它只在db中存儲一次。 它還在「WRITING TO」數據庫中調用setter方法。我期望的只是在從數據庫中讀取數據庫的過程中調用來構建對象。使用eclipselink jpa中的訪問方法功能,爲什麼EL會多次調用方法?

下面是示例代碼,我有

<entity-mappings ><basic name="column1" /> 
<basic name="longstring" > 
      <column name="col2" nullable="true" /> 
      <access-methods get-method="getLongString" set-method="setLongString" /> 
     </basic> 

public class TestObj { 
    String column1; 
    String col2; 
public String getLongString() { return "some long string"; } 
public void setLongString(String col2) { this.col2 = col2; } 
} 

究竟它的EclipseLink內部和爲什麼它試圖寫入到數據庫中調用「設置」方法的任何想法?也是多次?

感謝

戈皮

回答

0

的EclipseLink必須使用你的訪問方法來獲取和實體,它需要進行跟蹤更改任何錐內,並保持共享緩存設置的值。調用方法時的堆棧跟蹤將爲您提供使用它的原因的指示。

相關問題