我在我的XML持久性文件中定義了一個實體,如下所示。有問題的實體/表有超過100個字段,但我只需要少數幾個字段。我可以使用fetch =「LAZY」屬性來標記所有不需要的字段,但是可以將此表的所有列的默認獲取策略設置爲LAZY,並且只將我需要的那些標記爲fetch =「EAGER」?將實體(XML)的默認獲取策略設置爲LAZY?
我查看了Open JPA文檔here,但我沒有看到任何對此的引用。這在XML實體映射中可能嗎?
<entity class="Users">
<table schema="dbo" name="Users"/>
<attributes>
<id name="id">
<column name="Id" column-definition="nchar" length="18"/>
</id>
<basic name="about" fetch="LAZY">
<column name="About" column-definition="nvarchar" length="1000"/>
</basic>
<basic name="accountId">
<column name="AccountId" column-definition="nchar" length="18"/>
</basic>
<basic name="alias">
<column name="Alias" column-definition="nvarchar" nullable="false" length="8"/>
</basic>
<basic name="auditCounter">
<column name="AuditCounter"/>
</basic>
<basic name="auditPercent">
<column name="AuditPercentc"/>
</basic>
<basic name="auditTarget">
<column name="Audit"/>
</basic>
<basic name="CenterId">
<column name="CenterId" column-definition="nchar" length="18"/>
</basic>
</attributes>
</entity>
獲取正在處理關係而不是實體的字段它自己,所以如果你與另一個實體的關係,你可以取它懶,但我不認爲你可以這樣做實體字段 –
@ mibrahim.iti,可以使用'@Basic(fetch = FetchType.LAZY)'(或'',如問題所示)爲JPA提供懶惰提取基本持久字段的提示。也就是說,沒有標準屬性可以一次覆蓋所有實體字段的獲取模式。 –
crizzis