相关疑难解决方法(0)

如何正确地将特定对象的列表转换为Gson?

我正在研究Spring MVC项目.我正在使用Hibernate.我想使用AJAX和jQuery从我的Spring Controller中获取一些JSON.不幸的是,当我Gson在我的应用程序中实现方法时,我遇到了一个错误:

java.lang.UnsupportedOperationException: Attempted to serialize java.lang.Class: 
org.hibernate.proxy.HibernateProxy. Forgot to register a type adapter?
Run Code Online (Sandbox Code Playgroud)

我必须使用哪种适配器以及使用哪种方式?该方法的最后一行发生错误:

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

这是我Message在使用Hibernate的Spring MVC项目中使用的类:

@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
} …
Run Code Online (Sandbox Code Playgroud)

java json hibernate gson

17
推荐指数
1
解决办法
2万
查看次数

java.lang.UnsupportedOperationException:尝试序列化java.lang.Class:org.hibernate.proxy.HibernateProxy

我正在使用带有JSF应用程序的Restful Web服务(Jersy实现),并使用Json获取如下数据:

    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 ;
Run Code Online (Sandbox Code Playgroud)

我在调试模式下运行应用程序,allCars正确填充数据,但之后抛出异常:

java.lang.UnsupportedOperationException: Attempted to serialize java.lang.Class: org.hibernate.proxy.HibernateProxy. Forgot to register a type adapter?
Run Code Online (Sandbox Code Playgroud)

我不知道异常的根本原因

json hibernate jax-rs java-ee

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

hibernate ×2

json ×2

gson ×1

java ×1

java-ee ×1

jax-rs ×1