我正在使用Hibernate 3.6.9作爲ORM和xml映射的Java應用程序。其實,有兩個實體,檢測的和修訂,檢測的與修訂一個一對多的關係,其映射到其整個設置完成修訂:休眠派生實體
<set name="_Revisions" table="trevision" inverse="true" lazy="true">
<key>
<column name="id_detectable" />
</key>
<one-to-many class="com.company.model.tasks.Revision" />
</set>
也可以參考this similar question我已經發布。我現在想要的是得到最後的那個版本中修改類的獨立領域:
<many-to-one name="_LastDoneRevision" column="id_detectable"
class="com.company.model.tasks.Revision" lazy="false" />
我想實現與那就是有最後的修改(我在大多數情況下使用)總是熱切地提取。除此之外,如果需要,我可以獲得整套修訂版,但默認情況下會延遲初始化。要實現這一點,可能需要使用自定義查詢來從整個集合中獲取最後一次修訂。
我認爲這不能用公式來實現,因爲它們只是檢索一個值,而不是整個實體。我希望能夠以某種方式選擇many-to-one
關係應該具有的內容。
解決方案可能是to use a view而不是可檢測表本身。這樣我可以有這將對該視圖映射一個VDetectable實體和視圖可以獲取所有原始屬性加上參考修訂我感興趣的
反正是有可能是否只使用原始實體加載?
感謝您的回答。如果您能夠在網絡中提供此方法顯示的應用參考,我將不勝感激。 –
回答更新了Web引用。 – user2046211
感謝您的鏈接,無論如何,我不知道公式可以用於這種方式(如果你看看引用,它只顯示實例屬性,而不是id本身)。它工作正常,如果有人提供不同的方式,我只能等待。 –