为什么ListView JSP标记序列化整个数据对象?

为什么ListView JSP标记序列化整个数据对象?,listview,kendo-ui,Listview,Kendo Ui,ListViewTag类序列化整个数据对象,即使ListView中没有使用这些字段。我使用的是Hibernate实体,它使用多对多关系中的对象列表,我只想在需要时检索这些对象。当Serializer类尝试序列化对象时,Hibernate会尝试填充列表,但无法填充,因为没有打开数据库会话 com.kendoui.taglib.json.Serializer是否可以忽略字段 请参阅堆栈跟踪: org.hibernate.LazyInitializationException: failed to l

ListViewTag类序列化整个数据对象,即使ListView中没有使用这些字段。我使用的是Hibernate实体,它使用多对多关系中的对象列表,我只想在需要时检索这些对象。当Serializer类尝试序列化对象时,Hibernate会尝试填充列表,但无法填充,因为没有打开数据库会话

com.kendoui.taglib.json.Serializer是否可以忽略字段

请参阅堆栈跟踪:

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.syngenta.combichem.model.CcwEnumeration.buildingBlocks, could not initialize proxy - no Session
    org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:575)
    org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:214)
    org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:554)
    org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:142)
    org.hibernate.collection.internal.PersistentSet.iterator(PersistentSet.java:180)
    com.kendoui.taglib.json.Serializer.serializeIterable(Serializer.java:171)
    com.kendoui.taglib.json.Serializer.serialize(Serializer.java:109)
    com.kendoui.taglib.json.Serializer.serializeMap(Serializer.java:158)
    com.kendoui.taglib.json.Serializer.serialize(Serializer.java:121)
    com.kendoui.taglib.json.Serializer.serializeIterable(Serializer.java:174)
    com.kendoui.taglib.json.Serializer.serialize(Serializer.java:109)
    com.kendoui.taglib.json.Serializer.serializeMap(Serializer.java:158)
    com.kendoui.taglib.json.Serializer.serialize(Serializer.java:113)
    com.kendoui.taglib.json.Serializer.serializeMap(Serializer.java:158)
    com.kendoui.taglib.json.Serializer.serialize(Serializer.java:111)
    com.kendoui.taglib.WidgetTag.script(WidgetTag.java:101)
    com.kendoui.taglib.WidgetTag.doEndTag(WidgetTag.java:61)
    com.kendoui.taglib.ListViewTag.doEndTag(ListViewTag.java:82)

不幸的是,Serializer类不具备跳过属性的功能。您可以在以下位置查看序列化的源代码:

解决此问题的一种方法是创建一个仅包含所需属性的ViewModel(或者在您的情况下创建两个ViewModel)


我希望这有帮助。

创建一个包含字段所需的所有属性的类

此功能不受支持(此帖子似乎没有提供问题的答案。请编辑您的答案,或者将其作为问题的注释发布)。