Mysql JacksonMapping异常::HttpMessageNotWritableException:无法写入内容:(was java.lang.NullPointerException) 框架SpringMVC4.x Hibernate4.x 杰克逊2.8

Mysql JacksonMapping异常::HttpMessageNotWritableException:无法写入内容:(was java.lang.NullPointerException) 框架SpringMVC4.x Hibernate4.x 杰克逊2.8,mysql,json,spring,jackson,Mysql,Json,Spring,Jackson,我有两列,一列是publishDate和createdDate。发布日期用户需要手动输入。MySQL列中的Created date有一个默认设置为CURRENT\u TIMESTAMP,因此在创建条目时,DB将自动为该条目添加时间戳 我有一本书POJOpublishDate和createdDate字段publishDate可以处理空数据。但是Timestamp字段得到一个异常。为什么会这样 org.springframework.http.converter.HttpMessageNotWrit

我有两列,一列是
publishDate
createdDate
。发布日期用户需要手动输入。MySQL列中的Created date有一个默认设置为
CURRENT\u TIMESTAMP
,因此在创建条目时,DB将自动为该条目添加时间戳

我有一本书POJO
publishDate
createdDate
字段<出于某种原因,code>publishDate可以处理空数据。但是Timestamp字段得到一个异常。为什么会这样

org.springframework.http.converter.HttpMessageNotWritableException: Could not 
write content: (was java.lang.NullPointerException) (through reference chain: 
java.util.HashMap["results"]->java.util.ArrayList[30]-
>com.app.books.Book["dateCreated"]); nested exception is 
com.fasterxml.jackson.databind.JsonMappingException: (was 
java.lang.NullPointerException) (through reference chain: 
java.util.HashMap["results"]->java.util.ArrayList[30]-
>com.app.books.Book["dateCreated"])
我试图通过添加注释来抑制这种情况,我尝试了几种注释,因为我一直在阅读有关要使用的注释部分的冲突信息

@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) // but show JsonSerialize is deprecated

@JsonInclude(Include.NON_NULL)// Include can not be resolved as variable

@JsonInclude(JsonInclude.Include.NON_DEFAULT) // finally doesn't give me an error but I still get the same exception.
这是我的书本课

@Entity
@Table(name="books")
@Component
public class Book implements Serializable{


/**
 * 
 */
private static final long serialVersionUID = -2042607611480064259L;

@Id
@GeneratedValue
private int id;

@NotBlank
private String name;

@NotBlank
@Size(min=2, max=16)
private String ispn;

@DecimalMin(value = "0.1")
private double price;

//@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
//@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
//@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
private Timestamp dateCreated;

private Date datePublished;

非常痛苦。。。感谢您的帮助。

在Book类中从原语(int&double)切换到Java类(int&double)可能会有更好的效果。另请参见

在Book类中从原语(int&double)切换到Java类(int&double)可能会有更好的结果。另见