【问题标题】:change the list object hibernate return更改列表对象休眠返回
【发布时间】:2012-05-03 00:04:00
【问题描述】:

当我在休眠中的服务器端查询中创建时

(em.getEntityManagerFactory().createEntityManager().createNativeQuery("select..."))

形成一些包含java列表的对象 休眠返回org.hibernate.collection.PersistentList

现在当我尝试向我的 java 客户端发送这个对象时,他不知道这个

org.hibernate.collection.PersistentList

当我尝试反序列化时的对象(我不想将此 hibernate.jar 添加到客户端)。

有没有办法让hibernate返回普通的java列表? 现在我将此列表替换为普通的 java 列表或 java Arraylist 然后我将此对象发送到客户端。 (Json 不是一个选项)。

提前致谢。

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    通常休眠对象是不可序列化的。如果你想将它们发送给客户端,你必须将它们的数据复制到数据持有者对象中(或者你可以为你的客户端使用一个特殊的软件包)。不仅列表实现如此,单个pojo也是如此,延迟加载通常在客户端也不起作用。

    您已经以正确的方式进行操作,您将列表中的元素复制到客户端的新列表中。与从数据库中读取数据所需的时间相比,这只需要非常少的时间。

    (我不知道你在客户端使用的是哪个软件。如果是 GWT,here 你可以找到一个很好的休眠集成文档。但可能你没有使用 GWT,因为 GWT 有与仅 PersistentList 相比,hibernate 集成的障碍要大得多。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-16
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 2016-08-25
      • 2014-11-02
      相关资源
      最近更新 更多