У меня три модели. BookingDetail имеет отношение «один ко многим» как к LookupFoodItem, так и к модели LookupFacility. В моей базе данных есть 4 записи LookupFacility и 4 записи LookupFoodItem. Когда я выбираю одну запись BookingDetail, должно быть 4 записи LookupFoodItem, но я нашел 16 записей, которые являются избыточными. Как я могу решить эту проблему, чтобы получить только реальные записи, а не избыточные данные?
public class BookingDetail {
@OneToMany(mappedBy = "bookingDetail", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
public List<LookupFacility> lookupFacilities;
@OneToMany(mappedBy = "bookingDetail", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
public List<LookupFoodItem> lookupFoodItems;
}
public class LookupFacility {
@ManyToOne
@JoinColumn(name="booking_details_id")
BookingDetail bookingDetail;
}
public class LookupFoodItem{
@ManyToOne
@JoinColumn(name="booking_details_id")
BookingDetail bookingDetail;
}
Когда я получаю информацию BookingDetail из базы данных, используя JPA, это дает мне избыточные данные, подобные этой
LookupFoodItem{id=40, name='Beef ', price=120.0}
LookupFoodItem{id=41, name='Polao', price=300.0}
LookupFoodItem{id=42, name='Crab Fry', price=299.0}
LookupFoodItem{id=43, name='Chicken Soup', price=100.0}
LookupFoodItem{id=40, name='Beef ', price=120.0}
LookupFoodItem{id=41, name='Polao', price=300.0}
LookupFoodItem{id=42, name='Crab Fry', price=299.0}
LookupFoodItem{id=43, name='Chicken Soup', price=100.0}
LookupFoodItem{id=40, name='Beef ', price=120.0}
LookupFoodItem{id=41, name='Polao', price=300.0}
LookupFoodItem{id=42, name='Crab Fry', price=299.0}
LookupFoodItem{id=43, name='Chicken Soup', price=100.0}
LookupFoodItem{id=40, name='Beef ', price=120.0}
LookupFoodItem{id=41, name='Polao', price=300.0}
LookupFoodItem{id=42, name='Crab Fry', price=299.0}
LookupFoodItem{id=43, name='Chicken Soup', price=100.0}
Нет никакого отношения между LookupFoodItem и LookupFacilities.