Как правильно преобразовать список определенных объектов в Gson?

Я работаю над проектом Spring MVC. Я использую гибернацию. Я хочу использовать AJAX с jQuery, чтобы получить некоторые JSON от моих контроллеров Spring.К сожалению, когда я реализовывал методы Gsonв своем приложении, я получил ошибку:

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

Какой адаптер я должен использовать и каким образом? Ошибка произошла в последней строке метода:

public String messagesToJson(List<Message> messages) {
    Gson gson = new Gson();     
    List<Message> synchronizedMessages = Collections.synchronizedList(messages);
    return gson.toJson(synchronizedMessages, ArrayList.class);
}

Это мой класс Message, который я использую в своем проекте Spring MVC с Hibernate :

@Entity
@Table(name = "MESSAGES", schema = "PUBLIC", catalog = "PUBLIC")
public class Message implements java.io.Serializable {

    private static final long serialVersionUID = 1L;
    private int messageId;
    private User users;
    private String message;
    private Date date;

    //Constructor, getters, setters, toString
}

. РЕДАКТИРОВАТЬ

Мне интересно, :мой объект Messageпроксируется или весь List<Message>? Я получаю список сообщений таким образом:

public List<Message> findAllUserMessages(String username) {
    Query query = entityManager.createQuery("from Message where username = :username order by date desc")
           .setParameter("username", username);

    @SuppressWarnings("unchecked")
    List<Message> messages = query.getResultList();
    return messages;
}

РЕДАКТИРОВАТЬ 2

Нет, мой объект List<Message>не проксируется.

17
задан woyaru 17 July 2012 в 10:09
поделиться