处理Criteria API中的多态类

时间:2013-09-19 08:32:54

标签: java sql jpa criteria-api

对于搜索功能,我必须实现一个完全连接繁重的查询,以返回指定范围内的所有基于位置的服务(PLZAreaRange)。 正如你所看到的,有很多继承结构,直到我到达PLZAreaRange以将搜索条件与plzText进行比较。

public abstract class LocationbasedService {
    @OneToOne
    private Geography geography;
}

public abstract class Geography {
    @OneToOne(mappedBy="geography")
    private LocationbasedService locationbasedService;
}

public class Areageography extends Geography {
    @ManyToOne
    private Area from;
    @ManyToOne
    private Area to;

}

public abstract class Area {
}

public class PLZArea extends Area {
    @OneToMany(mappedBy = "plzArea")
    private List<PLZAreaRange> abschnitte = new ArrayList<PLZAreaRange>();

}

public class PLZAreaRange {

    @ManyToOne(cascade=CascadeType.ALL)
    private PLZArea plzArea;

    private String plzText;

}

如何加入此实体以选择所有包含plzText的服务(“test1”,“test2”)?

问候 米

1 个答案:

答案 0 :(得分:0)

我创建了一个视图来降低查询复杂性。继承边界似乎是个大问题。