У меня два класса:
@Entity
public abstract class Benefit extends WorkflowEntity {
@Id
@Column(name = "benefit_id")
@GeneratedValue(generator = "benefit_sequence", strategy = SEQUENCE)
private Long id;
...
@OneToMany(fetch = LAZY, cascade = {CascadeType.ALL}, orphanRemoval = true)
@JoinColumn(name = "benefit_id", nullable = false)
@AuditJoinTable(name = "aud_benefit_benefit_offering")
private Set<BenefitOffering> offerings = emptySet();
а также
@Entity
public class BenefitOffering {
@Id
@GeneratedValue(generator = "benefit_offering_sequence", strategy = SEQUENCE)
@Column(name = "benefit_offering_id")
private Long id;
... (there is no reference back to the Benefit in this class)
Загрузка offerings EAGER в Benefit невозможна, так как это замедлит работу системы.
Так что обычно offerings не загружаются для benefit, и мне приходится извлекать их отдельно.
Я знаю, что могу сделать что-то подобное, чтобы получить объект по его идентификатору.
Benefit benefit = entityManager.find(Benefit.class, benefitId);
Есть ли способ получить все Offerings, принадлежащие данному Benefit, с помощью entityManager?
Я копаюсь сейчас - похоже, вы правы, запросы - это путь вперед!




Вы можете использовать запрос. Вы знаете, как ими пользоваться?