这个问题似乎与此No serializer found for class org.hibernate.proxy.pojo.javassist.Javassist?相同。但是有一些区别。这个问题的作者有懒惰的关系。相反,我的实体是如此简单:
@Entity
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Length(min = 5, max = 50, message = "error.firstName.length")
@Column(name = "first_name")
private String firstName;
@Length(min = 5, max = 50, message = "error.lastName.length")
@Column(name = "last_name")
private String lastName;
public User(Long id, String firstName, String lastName) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
}
public User(String firstName, String lastName) {
this(null, firstName, lastName);
}
public User() {}
// getters & setters
}
但我仍然收到此错误:
com.fasterxml.jackson.databind.exc.InvalidDefinitionException:否 找到用于类的序列化器 org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer,无 发现的用于创建BeanSerializer的属性(为避免出现异常, 禁用SerializationFeature.FAIL_ON_EMPTY_BEANS)(通过引用 链: ua.savenkodenys.user_management.persistence.entity.User _ $$ _ jvst11c_0 [“ handler”])(在错误描述中)
我还想知道这是什么-(通过参考链: ua.savenkodenys.user_management.persistence.entity.User _ $$ _ jvst11c_0 [“ handler”] )(在错误说明中)
ua.savenkodenys.user_management.persistence.entity - these are my packages
答案 0 :(得分:0)
jackson-datatype-hibernate可以对具有延迟加载对象的JSON序列化/反序列化。
在延迟加载中,代理对象代表您的对象,直到可以从数据库中检索到您的对象为止,这就是引用链所指的对象。
这个问题可能是duplicate,所以请尝试首先实现那里提到的配置类。
或者,您可以尝试将以下注释添加到您的User实体,尽管这仅是掩盖问题而不是解决问题。
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})