找不到类 org.hibernate.proxy.pojo.javassist.Javassist 的序列化程序?

编程入门 行业动态 更新时间:2024-10-23 03:26:19
本文介绍了找不到类 org.hibernate.proxy.pojo.javassist.Javassist 的序列化程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在研究 SpringMVC、Hibernate &JSON 但我收到此错误.

I am working on SpringMVC, Hibernate & JSON but I am getting this error.

HTTP Status 500 - Could not write JSON: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.SerializationFeature.FAIL_ON_EMPTY_BEANS) )

请在下面检查我的实体

@Entity @Table(name="USERS") public class User { @Id @GeneratedValue @Column(name="USER_ID") private Integer userId; @Column(name="USER_FIRST_NAME") private String firstName; @Column(name="USER_LAST_NAME") private String lastName; @Column(name="USER_MIDDLE_NAME") private String middleName; @Column(name="USER_EMAIL_ID") private String emailId; @Column(name="USER_PHONE_NO") private Integer phoneNo; @Column(name="USER_PASSWORD") private String password; @Column(name="USER_CONF_PASSWORD") private String confPassword; @Transient private String token; @Column(name="USER_CREATED_ON") private Date createdOn; @OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL) @Fetch(value = FetchMode.SUBSELECT) @JoinTable(name = "USER_ROLES", joinColumns = { @JoinColumn(name = "USER_ID") }, inverseJoinColumns = { @JoinColumn(name = "ROLE_ID") }) private List<ActifioRoles> userRole = new ArrayList<ActifioRoles>(); @OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL,mappedBy="userDetails") @Fetch(value = FetchMode.SUBSELECT) private List<com.actifio.domain.Address> userAddress = new ArrayList<com.actifio.domain.Address>(); @OneToOne(cascade=CascadeType.ALL) private Tenant tenantDetails; public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getEmailId() { return emailId; } public void setEmailId(String emailId) { this.emailId = emailId; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getConfPassword() { return confPassword; } public void setConfPassword(String confPassword) { this.confPassword = confPassword; } public Date getCreatedOn() { return createdOn; } public void setCreatedOn(Date createdOn) { this.createdOn = createdOn; } public List<ActifioRoles> getUserRole() { return userRole; } public void setUserRole(List<ActifioRoles> userRole) { this.userRole = userRole; } public String getMiddleName() { return middleName; } public void setMiddleName(String middleName) { this.middleName = middleName; } public Integer getPhoneNo() { return phoneNo; } public void setPhoneNo(Integer phoneNo) { this.phoneNo = phoneNo; } public List<com.actifio.domain.Address> getUserAddress() { return userAddress; } public void setUserAddress(List<com.actifio.domain.Address> userAddress) { this.userAddress = userAddress; } public Tenant getTenantDetails() { return tenantDetails; } public void setTenantDetails(Tenant tenantDetails) { this.tenantDetails = tenantDetails; } public String getToken() { return token; } public void setToken(String token) { this.token = token; } }

我该如何解决这个问题?

How can I Solve this?

推荐答案

我在通过休眠代理对象延迟加载时遇到了类似的问题.通过注释具有延迟加载私有属性的类来解决它:

I had a similar problem with lazy loading via the hibernate proxy object. Got around it by annotating the class having lazy loaded private properties with:

@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})

我假设您可以在代理对象上添加破坏 JSON 序列化到该注释的属性.

I assume you can add the properties on your proxy object that breaks the JSON serialization to that annotation.

问题是实体被延迟加载,序列化在它们完全加载之前发生.

The problem is that entities are loaded lazily and serialization happens before they get loaded fully.

Hibernate.initialize(<your getter method>);

更多推荐

找不到类 org.hibernate.proxy.pojo.javassist.Javassist 的序列化程序?

本文发布于:2023-10-31 06:24:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1545281.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:找不到   序列化   程序   hibernate   org

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!