Java @JsonInclude(Include.NON_NULL)不工作/正在序列化NULL值

Java @JsonInclude(Include.NON_NULL)不工作/正在序列化NULL值,java,json,spring,hibernate,jackson,Java,Json,Spring,Hibernate,Jackson,我已经将注释放置在类/pojo上,并配置了映射器,但它仍然序列化了值 我使用的是Hibernate4.3.7Final和Jackson 2.4.4。集合是延迟加载的 Pojo:删除了getter和setter @JsonInclude(Include.NON_NULL) @Entity @Table public class School { @Id @GeneratedValue private int id; @OneToMany(cascade=Casc

我已经将注释放置在类/pojo上,并配置了映射器,但它仍然序列化了值

我使用的是Hibernate4.3.7Final和Jackson 2.4.4。集合是延迟加载的

Pojo:删除了getter和setter

@JsonInclude(Include.NON_NULL)
@Entity
@Table
public class School {

    @Id
    @GeneratedValue
    private int id;

    @OneToMany(cascade=CascadeType.ALL,fetch= FetchType.LAZY)
    private List<Student> students;

    @OneToMany(cascade=CascadeType.ALL,fetch= FetchType.LAZY)
    private List<Employee> staff;

}
输出:

{"id":1,"students":null,"staff":null}

尝试改用。

您可能希望针对project提交一个bug;可能是对延迟加载的集合(需要特殊处理并覆盖到默认集合)的处理没有进行正确的包含检查。

我希望包含empty,因为它显示了一个存在的列表及其空列表。但是null表示它没有加载。基本上正在与hibernate惰性对象斗争。我不想显示代理。你应该总是使用空列表而不是空值。这是因为Hibernate将始终使用代理,即使没有关联的子对象,这意味着只有在第一次创建父对象时才有空值。
{"id":1,"students":null,"staff":null}