У меня были проблемы с циклической зависимостью в спящем режиме. Вот класс ниже:
@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 или @JsonManagedReference, @JsonBackReference как к ClothModel.class, так и к Task.class, я замечаю, что в свойстве fabricModel в классе Task.class будет игнорироваться при попытке написать в него JSON, он действует как я использую аннотацию @Jsonignore.Почему это так и почему нет 100% исправления для круговой рекурсии Hibernate.