如果有这样的关系:
entity A (one) ---> (many) entity B (one)---->(one) entity C
并且当前 JPA 实体 A 具有以下关系定义:
@OneToMany(mappedBy = "A", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@OrderBy("b.c.fieldFromC DESC, field1FromB, field2FromB") // <--- b.c.fieldFromC DESC becomes a problem
private List<B> b_List;
似乎@OrderBy
仅在 b 处于条件时有效(因为 b 是 A 的字段)但不适用于 B 的任何字段(子关系),简而言之,@OrderBy
仅对 Ab 有效,但对 Abc 无效
我们正在使用 OpenJPA,我知道像 Hibernate 这样的提供可以提供排序器,以便可以包含一个比较器类,但我的问题是,@OrderBy
在一般 JPA 2.0 规范中是否有关于子关系的规范?如果没有,那么 OpenJPA 是否有任何这些排序器实现?有什么替代方案?