Bí quyết làm thế nào để đạt được điều này được mô tả trong chủ đề này: http://justonjava.blogspot.it/2010/09/lazy-one-to-one-and-one-to-many.html
Tôi đã cheched nó trên Hibernate v.4.3.5 và JPA v.1.5.0, PostgreSQL 9.3. Làm việc như người ở. Ví dụ:
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;
}
}
Lưu ý: Nếu bạn đang sử dụng cglib, thực hiện net.sf.cglib.transform.impl.InterceptFieldEnabled thay vì FieldHandled, với phương pháp tương tự.
Nguồn
2014-11-07 16:35:43
Cảm ơn Andrei, nhưng những cách tiếp cận đó không hiệu quả với tôi. VẤN ĐỀ LỚN! '@Lob @Basic (fetch = FetchType.LAZY) Blob private byte [] image;' EntityManager không thể tồn tại thuộc tính này ... tồn tại tất cả các trường và 'hình ảnh' vẫn giữ nguyên. Tôi đang sử dụng lớp bê tông 'SerialBlob' – CelinHC