| 層級 | 配置元素 | 屬性值 | 預設 |
|---|---|---|---|
| 類 | <class> | true(惰性) / false(立即) | true |
| 一對多/多對多 | <set> | true / extra(增強惰性) / false | true |
| 多對一 | <many-to-one> | proxy / no-proxy / false | proxy |
lazy="false":session.load() 立即發 SQL 查詢 Dept。lazy="true":load() 僅建代理,不發 SQL。<set>)lazy="false":載入 Dept 同步查詢 Emp(兩條 SQL)。lazy="true":首次 dept.getEmps().size() 觸發 SQL。lazy="extra":size()、isEmpty() 走 SELECT COUNT(*),不載入整個集合,極大優化大集合場景。<many-to-one>)proxy(預設):返回 Dept 代理,訪問屬性時查詢。no-proxy:屬性初為 null,首次讀取觸發查詢賦值真實物件,更透明但需字節碼增強。false:立即 JOIN 查詢 Dept。extra。lazy="false"。