【发布时间】:2016-03-11 16:56:53
【问题描述】:
我需要一个功能,如果她愿意,用户可以取消正在运行的查询,所以我想我会序列化休眠会话,然后将其反序列化以取消该特定查询。
所以我做了类似的事情:
- 序列化并在数据库中设置。
- 取回,然后调用 session.cancelQuery()。
下面是我使用的代码:
ByteArrayInputStream bis = new ByteArrayInputStream(byteArray);
ObjectInput in = new ObjectInputStream(bis);
Object o = in.readObject();
Session ss = (Session) o;
但这在 readObject() 给了我一个例外:
java.io.InvalidObjectException: could not resolve session factory during session deserialization [uuid=95d6a048-677b-42f0-9b9f-7e62fd68b533, name=null]
所以我想知道,是否甚至可以序列化和反序列化休眠会话对象。
编辑: 嗯,我也找到了this,但不确定这是否正确!
【问题讨论】:
-
我真的不明白你想要达到什么目的。您真的要将数据库会话存储在数据库中吗?
-
@vojta 是的,我想将序列化的会话对象存储在数据库中,然后将其反序列化回会话对象。
标签: java hibernate session serialization