هل هناك مساعد لمعرفة ما إذا كان قد تم تحميل عقار بواسطة السبات؟

StackOverflow https://stackoverflow.com/questions/1589144

سؤال

أحتاج إلى مساعد لمعرفة ما إذا كان قد تم تحميل خاصية كوسيلة لتجنب LazyInitializationException. هل هو ممكن؟

@Entity
public class Parent {
    @OneToMany
    private List<Child> childList;
}

@Entity
public class Child {

}

"select distinct p from Parent p left join fetch p.childList";

// Answer goes here
// I want to avoid LazyInitializationException
SomeHelper.isLoaded(p.getChildList());
هل كانت مفيدة؟

المحلول

هناك طريقتان ، في الواقع.

لمعرفة ما إذا كان كسول منشأه تم تهيئته يمكنك الاحتجاج Hibernate.isPropertyInitialized() الطريقة مع مثيل الكيان الخاص بك واسم الخاصية كمعلمات.

لمعرفة ما إذا كان كسول مجموعة (أو الكيان) تمت تهيئته (كما في مثالك) يمكنك الاحتجاج Hibernate.isInitialized() مع المجموعة (الكيان) مثيل كمعلمة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top