मेरे कोड उपयोगकर्ता से संबंधित सभी जानकारी को पुन: प्राप्त:हाइबरनेट प्रॉक्सी सक्रिय नहीं कर सका - कोई सत्र
SessionFactory sessionFactory = HibernateUtilities.configureSessionFactory();
Session session = sessionFactory.openSession();
UserDetails ud = null;
Set<Address> userAddress = null;
try {
session.beginTransaction();
ud = (UserDetails) session.get(UserDetails.class, 1);
userAddress = ud.getAddresses();
session.getTransaction().commit();
} catch (HibernateException e) {
e.printStackTrace();
session.getTransaction().rollback();
} finally {
session.close();
}
System.out.println(ud.getName());
for(Address addr: userAddress){
System.out.println("State " + addr.getState());
}
ud.getAddresses()
बस उपयोगकर्ता की Address
तों का एक सेट देता है।
मेरा प्रश्न है: क्यों ud
वस्तु अभी भी अपने मूल्य है (जैसे, नाम) भले ही सत्र पहले से ही बंद कर दिया है? getAddresses()
UserDetails
कक्षा का एक उदाहरण चर है। लेकिन मैं इसका मूल्य क्यों नहीं प्राप्त कर सकता हूं लेकिन मैं UserDetails
कक्षा के नियमित आवृत्ति चर पुनर्प्राप्त कर सकता हूं?
ud.getAddresses()
एक @EmbeddedCollection
है।
"@EmbeddedCollection" - क्या आपका मतलब है @ @ ElementCollection'? –