चाल इस इस विषय में बताया कि कैसे हासिल करने के लिए: http://justonjava.blogspot.it/2010/09/lazy-one-to-one-and-one-to-many.html
मैं हाइबरनेट v.4.3.5 और जेपीए v.1.5.0, PostgreSQL 9.3 पर यह cheched गए हैं। एक जादू की तरह काम किया। उदाहरण:
public class Attachment implements FieldHandled{
@Transient
private FieldHandler fieldHandler;
...
...
@Lob
@Column(name=CONTENT, nullable=false)
@Basic(fetch = FetchType.LAZY, optional = false)
private byte[] content;
...
...
public byte[] getContent() {
if(fieldHandler!=null){
return (byte[])fieldHandler.readObject(this, "content", content);
}
return content;
}
public void setContent(byte[] content) {
if(fieldHandler!=null){
fieldHandler.writeObject(this, "content", this.content, content);
return;
}
this.content = content;
}
}
नोट: यदि आप CGLib का उपयोग कर रहे हैं, तो FieldHandled के बजाय net.sf.cglib.transform.impl.InterceptFieldEnabled लागू, एक ही दृष्टिकोण के साथ।
स्रोत
2014-11-07 16:35:43
धन्यवाद आंद्रेई, लेकिन वे दृष्टिकोण मेरे लिए काम नहीं करते हैं। बड़ी समस्याएं! '@ लॉब @ बासिक (fetch = FetchType.LAZY) ब्लॉब निजी बाइट [] छवि; 'EntityManager इस संपत्ति को जारी नहीं रख सकता है ... सभी फ़ील्ड जारी रखें और' छवि 'शून्य रहता है। मैं कंक्रीट क्लास 'सीरियलब्लोब' – CelinHC