Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 使用@JsonIdentityInfo或@JsonManagedReference,@JsonBackReference会在解析类时忽略类中的my属性_Java_Hibernate_Spring Boot_Jackson Databind - Fatal编程技术网

Java 使用@JsonIdentityInfo或@JsonManagedReference,@JsonBackReference会在解析类时忽略类中的my属性

Java 使用@JsonIdentityInfo或@JsonManagedReference,@JsonBackReference会在解析类时忽略类中的my属性,java,hibernate,spring-boot,jackson-databind,Java,Hibernate,Spring Boot,Jackson Databind,我遇到了hibernate循环依赖性问题,以下是此类问题: @Entity @JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="id") public class Task extends DefaultEntity{ @ManyToOne @JoinColumn(name = "cloth_model_id")

我遇到了hibernate循环依赖性问题,以下是此类问题:

   @Entity
    @JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="id")
    public class Task extends DefaultEntity{


        @ManyToOne
        @JoinColumn(name = "cloth_model_id")
        //@JsonIgnore
        private ClothModel clothModel;

        private String details;

        private boolean completed;

        @ManyToOne
        @JoinColumn(name = "employee_id")
        private Employee employee;
}




   @Entity
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="id")
public class ClothModel extends DefaultEntity {

    private ClothingType clothingType;

    private int quantity;

    private double amount;

    @Transient
    private String modelStructure;

    private String savedUrl;


    @Transient
    //@JsonManagedReference
    private List<Task> tasks = new ArrayList<>();
}



 @MappedSuperclass
public class DefaultEntity implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(columnDefinition = "serial")
    private long id;

    @Column(name = "Time",columnDefinition= "TIMESTAMP WITH TIME ZONE")
    @Temporal(TemporalType.TIMESTAMP)
    private Date dateCreated;
@实体
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class,property=“id”)
公共类任务扩展了DefaultEntity{
@许多酮
@JoinColumn(name=“cloth\u model\u id”)
//@杰索尼奥雷
私人服装模型;
私有字符串详细信息;
完成私有布尔运算;
@许多酮
@JoinColumn(name=“employee\u id”)
私人雇员;
}
@实体
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class,property=“id”)
公共类模型扩展了DefaultEntity{
私人服装类型服装类型;
私人整数数量;
私人双倍金额;
@短暂的
私有字符串模型结构;
私有字符串savedUrl;
@短暂的
//@JsonManagedReference
私有列表任务=新建ArrayList();
}
@映射超类
公共类DefaultEntity实现可序列化{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(columnDefinition=“serial”)
私人长id;
@列(name=“Time”,columnDefinition=“带时区的时间戳”)
@时态(TemporalType.TIMESTAMP)
创建私人日期;
我删除了getter和setter,因此代码不会太多


当我将@JsonIdentityInfo或@JsonManagedReference、@JsonBackReference应用于ClothModel.class和Task.class时,我注意到在我尝试向其写入JSON时,Task.class中的ClothModel属性将被忽略,这就像我在使用@Jsonignore注释一样。为什么会这样,为什么没有一个合适的100%工作修复程序Hibernate循环递归。

你到底想实现什么?因为你提到的注释与你说的完全一样。它们用于阻止任何字段在解析为JSON时序列化。这是一个Jackson问题,与Hibernate无关,不,没有办法使用循环引用并让它们打印某些内容。@Anas我想要o检索具有任务列表的ClothModel,但我无法检索,因为它将导致堆栈溢出error@coladict我只想检索一个包含任务列表的clothModel,这样我就可以将它们解析到我的视图中,但我不能因为循环引用而导致stackoverflow错误。任何关于如何解决此问题的问题都很简单,请决定使用哪种方法h无论父类是什么。在该类中有一个子对象列表。转到子类并删除父类(父类的对象)的引用