1

当我尝试使用 JSON-Struts2 插件序列化对象时,我遇到了 JPA 的一个大问题。

我有下一个例外:

异常描述:尝试使用具有空会话的间接遍历关系。这通常发生在具有未实例化 LAZY 关系的实体被序列化并且在序列化之后遍历该惰性关系时。为避免此问题,请在序列化之前实例化 LAZY 关系。

这是因为某些参数是列表,而这些列表具有其他列表的对象..

有一种方法可以在不修改对象外观的情况下初始化所有列表?...或其他选项.. 仅使用 JSON 序列化一些参数

4

3 回答 3

2

您可以使用Hibernate.isInitializedHibernate.initialize检查是否发生了初始化或强制初始化。

于 2012-10-13T19:23:17.680 回答
2

您可以排除 struts-json-plugin 中的参数。请参阅http://struts.apache.org/2.x/docs/json-plugin.html#JSONPlugin-Excludingproperties

顺便说一句,如果您要使用 Hibernate#initialize 方法:

注意:这只确保代理对象或集合的初始化;不能保证集合内的元素将被初始化/物化。

于 2012-10-13T20:44:29.060 回答
0

使用字符串列表而不是整个对象解决

于 2012-10-22T23:55:46.443 回答