5
मैं खरीद पर एक आलसी @ManyToOne
स्तंभ के रूप में परिभाषित किया है:हाइबरनेट @ManyToOne (लाने = FetchType.LAZY) पर ध्यान नहीं दिया
@ManyToOne(fetch = FetchType.LAZY)
Sale sale = null
हालांकि, जब मैं db से इकाई लोड, यह सीधे लोड हो जाता है:
Purchase purchase = em.find(Purchase.class, id);
PersistenceUnitUtil unitUtil = em
.getEntityManagerFactory()
.getPersistenceUnitUtil();
System.err.println(unitUtil.isLoaded(purchase, "sale"));
यह true
वापस लौटाएगा, भले ही फ़ील्ड अभी तक लोड नहीं किया जाना चाहिए।
मैं क्या गलत कर रहा हूं?
(हाइबरनेट 4.3.11.Final)
तो मैं इसे रोकने के लिए क्या कर सकता हूं? –
मुझे पता है कि इतने सारे विकल्प नहीं हैं। एक तरीका है "बिल्डटाइम बाइटकोड उपकरण"। http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/performance.html#performance-fetching-lazyproperties – kan
तो यह फ़ंक्शन तब भी क्यों है जब यह कभी काम नहीं कर सकता? मैंने बिना किसी प्रभाव के 'nullable = false' की कोशिश की। –