【发布时间】:2013-07-11 06:27:21
【问题描述】:
我有一个服务器和客户端,它们都是基于 Java 的,并且通过 RMI 相互通信。服务器的数据访问层是用 JPA 和 Hibernate 实现的,实体通常用作参数。
客户端没有 Hibernate 代码并且动态代码下载被禁用,因此当服务器向其客户端发送实体时,必须发送实际实体,而不是代理。此外,实体必须按原样发送,无需预加载所有延迟获取的属性,因为在大多数情况下,客户端永远不需要它们。
是否可以用 Hibernate 实现这些要求?
【问题讨论】:
-
@Korgen 谢谢,但 getHibernateLazyInitializer() 不会预取所有引用的实体吗?
-
根据我从 API 中看到的情况,您必须调用 initialize 方法来获取它们 (docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/proxy/…)
-
我的answer to a similar question 可能对你有用。