Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JsonInclude无法防止惰性初始化的NULL-OneToMany关系的映射异常_Java_Spring_Spring Boot_Jackson_Jackson2 - Fatal编程技术网

Java JsonInclude无法防止惰性初始化的NULL-OneToMany关系的映射异常

Java JsonInclude无法防止惰性初始化的NULL-OneToMany关系的映射异常,java,spring,spring-boot,jackson,jackson2,Java,Spring,Spring Boot,Jackson,Jackson2,我已经将FetchType.LAZY和JsonInclude属性添加到两个实体之间的OneToMany关系中。但是,如果一对多关系集合为null,则在获取所属实体时仍会出现映射异常 @Entity @Getter @Setter @NoArgsConstructor @JsonInclude(value = Include.NON_NULL) public class Company extends AuditModel implements Serializable { privat

我已经将FetchType.LAZY和JsonInclude属性添加到两个实体之间的OneToMany关系中。但是,如果一对多关系集合为null,则在获取所属实体时仍会出现映射异常

@Entity
@Getter
@Setter
@NoArgsConstructor
@JsonInclude(value = Include.NON_NULL)
public class Company extends AuditModel implements Serializable {

    private static final long serialVersionUID = 4627788171283297107L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @Version
    private Integer version;

    @Column(nullable = false, length = 25)
    private String name;

    @Column(nullable = false, length = 10)
    private String pan;

    @Column(nullable = false, length = 21)
    private String cin;

    private String vatTin;

    @Column(nullable = false, length = 10)
    private String tan;

    private Address address;

    @OneToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "Company_Branches", joinColumns = @JoinColumn(name = "company_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "branch_id", referencedColumnName = "id"))
    private List<Branch> branches;

}
如果任何公司的分支机构为空,我会得到这个


2018-10-20 21:59:23.733警告70144-[nio-8080-exec-7].w.s.m.s.DefaultHandlerExceptionResolver:已解决[org.springframework.http.converter.HttpMessageNotWritableException:无法写入JSON:未能延迟初始化角色集合:com.xxx.entity.Company.branchs,无法初始化代理-无会话;嵌套异常为com.fasterxml.jackson.databind.JsonMappingException:未能延迟初始化角色集合:com.xxx.xxx.entity.Company.branchs,无法初始化代理-通过引用链没有会话:java.util.Collections$UnmodifiableRandomAccessList[0]->com.xxx.xxx.entity.Company[branchs]

我缺少jackson数据类型hibernate;配置了对象映射器

public class HibernateAwareObjectMapper extends ObjectMapper {

    private static final long serialVersionUID = -4934273698008915161L;

    public HibernateAwareObjectMapper() {
        registerModule(new Hibernate5Module());
    }

}
这就解决了问题