如何初始化远程方法调用提取的Hibernate实体?

cre*_*zel 6 java remoting hibernate rmi

当使用Hibernate调用远程服务(例如通过RMI)从数据库加载实体列表时,如何管理它以初始化客户端需要的所有字段和引用?

示例:客户端调用远程方法来加载所有客户.对于每个客户,客户希望初始化对客户的购买物品列表的引用.

我可以想象以下解决方案:

  1. 为每个特殊查询编写一个远程方法,初始化所需的字段(例如Hibernate.initialize())并将域对象返回给客户端.

  2. 像1.但创建DTO

  3. 将查询拆分为多个查询,例如一个用于客户,另一个用于客户的文章,并让客户端管理结果

  4. remote方法采用DetachedCriteria,它由客户端创建并由服务器执行

  5. 开发自定义"预加载模式",即客户端明确指定要预加载哪些属性的方法.

Pau*_*lan 1

我以前用过1,效果很好。