1
我們正在使用JPA + Hibernate。 我有一些多對一的映射,這是惰性加載。JPA + Hibernate強制JPA不使用代理來延遲加載
在服務中,我通過調用其getter方法來初始化多對一對象。但代理被分配給父VO,而不是實際的VO對象。
我的問題是,JPA有沒有辦法強制使用代理策略。 我在這裏的限制是我不能使用休眠對象或@LazytoOne等註釋。
在此先感謝。
我們正在使用JPA + Hibernate。 我有一些多對一的映射,這是惰性加載。JPA + Hibernate強制JPA不使用代理來延遲加載
在服務中,我通過調用其getter方法來初始化多對一對象。但代理被分配給父VO,而不是實際的VO對象。
我的問題是,JPA有沒有辦法強制使用代理策略。 我在這裏的限制是我不能使用休眠對象或@LazytoOne等註釋。
在此先感謝。
你不能阻止Hibernate在那裏使用代理對象,因爲它不得不保證它是一個懶惰的關係。
你有多種選擇:
Hibernate.initialize(parent.getChild())
。請注意,這不是實現它的最佳方式,這也需要一個活動事務。我建議你去選擇2或3,因爲他們是最有效的方法來做到這一點。
更多閱讀懶惰加載here。