JPA EntityManager按父ID查找

时间:2018-06-08 13:33:39

标签: java hibernate jpa entitymanager

我有以下两个类:

@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中加载Benefit EAGER不是一个选项,因为它会降低系统速度。

因此offerings通常不会加载benefit,我必须单独检索它们。

我知道我可以通过其ID

来执行此类操作来检索实体
Benefit benefit = entityManager.find(Benefit.class, benefitId);

有没有办法使用Offerings检索属于给定Benefit的所有entityManager

0 个答案:

没有答案
相关问题