나는 다음과 같은 매핑이 있습니다최대 절전 모드, 특정 엔티티 매핑에 유래
@Entity
public class Satellite implements Serializable, Comparable<Satellite> {
@NotNull @Id
private long id;
.....
@OrderColumn
@OneToMany(mappedBy = "satellite", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private List<DataModel> dataModel;
}
와 아이 엔티티 :
@Entity @IdClass(value=DataModelPK.class)
public class DataModel implements Serializable, Comparable<DataModel> {
private static final long serialVersionUID = -3416403014857250990L;
@Id
private int orbit; // related to reference orbit file
private int dataPerOrbit; // in Gbit
@ManyToOne @Id
private Satellite satellite;
}
원래 DataModel
는 임베디드 엔티티했지만를 통해 더 나은 제어를 기본 키 및 db의 기본 구조, 나는 더 전통적인 모델로 전환했습니다.
요점은, 엔티티를로드하는 중에 스택 오버 플로우가 발생한다는 것입니다. 그 두 엔티티 사이에 순환 로딩이 있다고 생각합니다.
나는 모든 것을 원래대로 되 돌리는 것이 좋겠지 만, 왜 이것이이 오류를 내는지 이해하고 싶습니다.
이 코드는 처음에는 잘 보였으며 문제는 다른 곳에서 발생한다고 생각합니다. 스택 추적을 게시 할 수 있습니까 (반복을 생략 할 수 있습니까)? –
DataModelPk 클래스의 코드를이 게시물에 추가 할 수 있습니까? – user3360944