Hibernate의 지연 로딩 기능을 활용할 때 로드된 일부 객체가 프록시로 나타날 수 있습니다. 지연 로딩은 성능을 유지하지만 프록시를 GWT 클라이언트로 내보내는 데 문제가 발생할 수 있습니다. 이 기사에서는 프록시를 실제 엔터티 개체로 변환하고 지연 로딩을 유지하면서 원활한 RPC 통신을 촉진하는 솔루션을 살펴봅니다.
Hibernate는 직접적인 "구체화" 방법을 제공하지 않습니다. 그러나 실용적인 해결책이 있습니다.
public static <T> T initializeAndUnproxy(T entity) { if (entity == null) { throw new NullPointerException("Entity passed for initialization is null"); } Hibernate.initialize(entity); if (entity instanceof HibernateProxy) { entity = (T) ((HibernateProxy) entity).getHibernateLazyInitializer() .getImplementation(); } return entity; }
이 메서드는 다음 단계를 수행합니다.
위 내용은 원활한 GWT RPC를 위해 Hibernate 프록시를 실제 엔터티로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!