У меня проблема с использованием JPA 1.0 через реализацию OpenJPA.Моя модель данных состоит из поездки, которая имеет отношения OneToMany с Leg и OneToMany с пассажиром.У Ноги и Пассажира есть связь в PassengerLeg.Это отображается как двунаправленный OneToMany / ManyToOne.По сути, в моей модели данных есть бриллиант.Если поездка имеет 2 ноги и 3 пассажира, будет 6 пассажирских ног.Для различных случаев использования мне нужно идти в каждом направлении от каждой сущности.Прямо сейчас, когда я пытаюсь загрузить все с нетерпением, поле ноги в PassengerLeg будет нулевым, и я не могу понять, почему.Вот скудное представление моих классов:
@Entity
public class Trip {
@OneToMany(mappedBy = "trip", fetch = FetchType.EAGER)
private List<Leg> legs;
@OneToMany(mappedBy = "trip", fetch = FetchType.EAGER)
private List<Passenger> passengers;
}
@Entity
public class Leg {
@ManyToOne
@JoinColumn(name = "TRIP_ID")
private Trip trip;
@OneToMany(mappedBy = "leg", fetch = FetchType.EAGER)
private List<PassengerLeg> passengers;
}
@Entity
public class Passenger {
@ManyToOne
@JoinColumn(name = "TRIP_ID")
private Trip trip;
@OneToMany(mappedBy = "passenger", fetch = FetchType.EAGER)
private List<PassengerLeg> legs;
}
@Entity
public class PassengerLeg {
@ManyToOne
@JoinColumn(name = "LEG_ID")
private Leg leg; //this will be null
@ManyToOne
@JoinColumn(name = "PASSENGER_ID")
private Passenger passenger;
}
Я провел бесчисленные часы, читая документацию и все, что я могу найти в Google, чтобы выяснить, что может вызвать это, но мне не повезло.У кого-нибудь есть идеи, что могло бы вызвать это?Дайте мне знать, если вам нужна дополнительная информация о классах / аннотациях.