package test;
import java.io.*;
import javax.persistence.*;
@Entity
public class XXXEntity {
@Id private Long id;
@Transient private Object entity;
@Lob private byte[] binEntity;
public Object getEntity() {
try {
return this.entity!=null ? this.entity : (this.entity = new ObjectInputStream(new ByteArrayInputStream(this.binEntity)).readObject());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public void setEntity(Object entity) {
this.entity = entity;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
final ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(entity);
oos.close();
this.binEntity = baos.toByteArray();
} catch (IOException e) {
throw new RuntimeException(e);
}
}