休眠:@ManyToOne,不包括一行

时间:2019-01-10 16:07:13

标签: java hibernate

我刚冬眠,所以我都不知道要搜索什么。我发现一些示例将@Where与静态查询结合使用,但我什至无法正确表达。

我希望这有一个我可以理解的简单解决方案。给定两个类AB,如下所示,B有两个字段引用单个A,然后是A的可选列表。我想从可选列表中排除单个A

@Entity
public class A {
    @Id
    private int id;
    @ManyToOne
    @JoinColumn(name="b_id")
    private B b;
    private String x;
    private double y;
    // getters and setters are omitted
}

@Entity
public class B {
    @Id
    private int id;
    private String name;
    @oneToOne
    private A mainA;
    @OneToMany(mappedBy="b", cascade=CascadeType.ALL)
    private List<A> optionalAs = new ArrayList<>();
}

就目前而言,optionalAs包括与A相关的所有B。我希望optionalAs列表排除 mainA,最好不要将其从列表中明确删除。

有没有办法用注解来表达这一点?

0 个答案:

没有答案