簡體   English   中英

Hibernate ManyToOne懶惰不工作最后一堂課

[英]Hibernate ManyToOne Lazy not Working final Class

我有多對一的關系..與所有懶惰的初始化,但每次我查詢關系的這一邊這會創建另一個select [other一個],並帶來父母,我已經閱讀了堆棧上的其他文章說的很好為了提高性能,請為VTable重寫方法聲明類final,但是在其他帖子中,他們說如果我與final類具有多對一關系,則將帶來該關系的一面,實際上我已在類中刪除了final修飾符現在一切都還好,我的問題是,即使使用所有懶惰的初始化感謝,最終修飾符為何也會導致關系的一側急切地獲取。

final關鍵字可防止任何人擴展類並覆蓋其任何方法。

為了實現延遲加載,hibernate在許多方面用代理替換了父對象的實例。 第一次調用此代理時,將從數據庫中加載父級的數據。

代理必須是Parent類的實例。 但是它不能是Parent類型,因為它的方法需要做其他事情:在第一次調用它們時執行SQL查詢。 因此,代理實際上是Parent的子類(在運行時動態生成)。 作為子類,Parent類不能是最終的。

因此,必須避免在休眠實體上使用final ,否則代理將不起作用,因此延遲加載將無法進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM