2011-11-03 63 views

回答

2

lazyproxy時,所討論的關聯字段用代理對象初始化。由於創建代理時不知道關聯對象的實際類型,因此該代理顯然不能被轉換爲它。

lazyno-proxy時,該字段未被初始化。相反,當您嘗試訪問該字段時,將攔截對該字段的訪問並加載實際對象。這個攔截需要字節碼工具。

+0

謝謝!很好的答案。我只是想知道:在'lazy = no-proxy'的情況下,如果沒有代理,那麼在哪個Java對象中存儲關聯對象的id(在實際關聯對象被加載之前)? – rapt

+1

@rapt:我想它存儲在一個包含關聯字段的對象中。在字節碼檢測期間可以添加一個額外的字段來存儲該ID。 – axtavt