@Entity
@Table(name = "Student")
public class Student implements serializable{
@Column(name="sid")
private int sid;
@Column(name="name")
private String name;
@Column(name="addressXml")
private String addressXml;
@Transient
private Address addressObj;
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
---Not getting control here
in.defaultReadObject();
addressXml =(String)in.readObject();
addressObj =(Address) xstream.fromXML(addressXml);
}
我遇到以下情况:在执行getResultList
时,我需要在readObject
中进行控制,以便我可以将addressXml
转换为addressObj
并设置瞬态变量。
List<Student> list = query.getResultList();
但我无法控制readyObject
。
注意:Student
对象已在db中保留,我使用Hibernate JPA实现来检索Student
个对象。
你能帮助我理解我在这里错过了什么吗?
答案 0 :(得分:0)
从数据库中拉回对象时,没有使用Java序列化过程,除非您将实体存储为序列化。如果你只想在从数据库中撤回时获取FIELD的句柄,那么你可以使用JPA PostLoad事件监听器。