我正在使用带有Spring Boot的Spring Data REST并且遇到一个特殊问题,当我向 Customer 发出GET请求时,我有一个关联的地址,我得到了在浏览器中出现以下错误:
出现意外错误(type = Internal Server Error,status = 500)。 org.springframework.http.converter.HttpMessageNotWritableException:无法写入JSON:找不到类[java.lang.Long]上的字段名[message];嵌套异常是com.fasterxml.jackson.databind.JsonMappingException:找不到类[java.lang.Long]上的字段名[message](通过引用链:....
我已经给出了下面代码的基本示例,并为了简洁起见删除了代码:
public class Customer {
@OneToOne(mappedBy = "customer", cascade = CascadeType.ALL)
private Address address;
....
}
public class Address {
@Id
@OneToOne(optional = false)
@JoinColumn(name = "CUSTOMER_ID", unique = true, nullable = false)
private Customer customer;
....
}
但是,如果我的客户没有与之关联的地址,那么GET请求似乎没问题。
关于这个问题的任何想法?
答案 0 :(得分:0)
代码中的属性是否像示例中一样注释? @Id
应该用于原始类型或Wrapper-Type。
属性mappedBy
应引用另一个类中的属性,例如id
。在您的示例中,我看不到引用属性message
。
你试过吗
@OneToOne(mappedBy = "customer", cascade = CascadeType.ALL)
在您的客户类中?