Bei Verwendung der Lazy-Loading-Funktion von Hibernate können einige geladene Objekte als Proxys erscheinen. Während Lazy Loading die Leistung aufrechterhält, kann der Export von Proxys zu GWT-Clients eine Herausforderung darstellen. In diesem Artikel wird eine Lösung zum Konvertieren von Proxys in reale Entitätsobjekte untersucht, wobei Lazy Loading beibehalten und gleichzeitig eine nahtlose RPC-Kommunikation ermöglicht wird.
Hibernate bietet keine direkte „Materialisierungs“-Methode. Es gibt jedoch eine praktische Lösung:
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; }
Diese Methode führt die folgenden Schritte aus:
Das obige ist der detaillierte Inhalt vonWie können Hibernate-Proxys in echte Einheiten für nahtloses GWT-RPC umgewandelt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!