0

我有以下实体结构:

class A {
    @OneToMany(mappedBy = "aInstance",
               fetch = FetchType.LAZY,
               cascade = CascadeType.ALL,
               orphanRemoval=true)
    Set<B> bInstances;

    //Other fields and methods
}


class B {
    @ManyToOne
    @JoinColumn(name="a_id")
    private A aInstance;

    @Column(name="b_name")
    private String name;
    //Other fields and methods
}

现在,在DB表中,一般实体A对应的一行可以有数百个B。

但是我有兴趣根据名称为给定的 A 实例仅获取一个这样的 B 实例。例如,我想只使用名称为“XYZ”的 B 来获取 A。

我怎样才能在一个查询中做到这一点?还是必须使用两个查询(或一个本机查询)?

4

1 回答 1

0
select b from B b where b.name = 'XYZ' and b.aInstance = :a
于 2013-06-10T07:08:59.990 回答