当使用 Hibernate 调用远程服务(例如通过 RMI)从数据库加载实体列表时,您如何管理它以初始化客户端需要的所有字段和引用?
示例:客户端调用远程方法加载所有客户。对于每个客户,客户都希望初始化对客户购买商品列表的引用。
我可以想象以下解决方案:
为每个特殊查询编写一个远程方法,初始化所需的字段 (例如 Hibernate.initialize())并将域对象返回给客户端。
像 1. 但创建 DTO
将查询拆分为多个查询,例如一个给客户,一个给客户的文章,让客户自己管理结果
远程方法接受一个DetachedCriteria,它由客户端创建并由服务器执行
开发自定义“预加载模式”,即客户端明确指定要预加载哪些属性的方法。
最佳答案
我过去用过 1,效果很好。
关于java - 如何初始化通过远程方法调用获取的 Hibernate 实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/119732/