2013-05-15 12 views
5

Sto utilizzando un servizio Web Restful (implementazione Jersy) con un'applicazione JSF e ho utilizzato Json per ottenere i dati come segue :java.lang.UnsupportedOperationException: Tentativo di serializzare java.lang.Class: org.hibernate.proxy.HibernateProxy

carObjectDao = new GenericDAO<carObject>(carObject.class); 
    List<carObject> allCars = carObjectDao.readAll(); 
    Gson gson = new Gson(); 
    String carString = gson.toJson(allCars); 
    System.err.println(carString); 
    return carString ; 

ho eseguito l'applicazione in modalità di debug e allCars viene riempito con i dati in modo corretto, ma dopo che viene generata un'eccezione:

java.lang.UnsupportedOperationException: Attempted to serialize java.lang.Class: org.hibernate.proxy.HibernateProxy. Forgot to register a type adapter? 

non so la causa principale del l'eccezione

+0

Devi eliminare unproxy degli oggetti HibernateProxy, o se non hai davvero bisogno dei dati, basta impostare em come null. – Ziul

+0

potresti spiegare di più, non ho capito –

risposta

5

Questo è un problema noto: Could not serialize object cause of HibernateProxy

JSon non può deserializzare gli oggetti HibernateProxy, quindi non è possibile rimuovere o rimuovere em.

Oppure, puoi desiderare di recuperare i dati pigri.

+1

Come rimuovere UnProxy o rimuoverli, ho letto quel post ma non ho capito –

+0

Pugno devi capire come funziona l'inizializzazione pigra, quando non vuoi recuperare una raccolta, o caricare un oggetto, si presenta come una raccolta/oggetto proxy di Hibernate, devi scoprire dagli oggetti allCars, quali raccolte/oggetti secondari vengono come HibernateProxy invece di dati reali. – Ziul

+0

Dopodiché, puoi decidere cosa fare con em (rimuovi em o correggi em). – Ziul

Problemi correlati