Java Hibernate 4 EntityManager CriteriaBuilder sortby嵌套属性
我的模型:Java Hibernate 4 EntityManager CriteriaBuilder sortby嵌套属性,java,spring,hibernate,jpa,hibernate-entitymanager,Java,Spring,Hibernate,Jpa,Hibernate Entitymanager,我的模型: public class Nested { private Integer id; private String sortBy; [...] } public class ObjectToQuery { private Integer id; private Nested nested; private OtherProperty otherProperty; [...] } 我的元模型: @StaticMetamodel(
public class Nested {
private Integer id;
private String sortBy;
[...]
}
public class ObjectToQuery {
private Integer id;
private Nested nested;
private OtherProperty otherProperty;
[...]
}
我的元模型:
@StaticMetamodel(Nested.class)
public class Nested_ {
public static volatile SingularAttribute<Nested, Integer> id;
public static volatile SingularAttribute<Nested, String> sortBy;
[...]
}
@StaticMetamodel(ObjectToQuery.class)
public class ObjectToQuery_ {
public static volatile SingularAttribute<ObjectToQuery, Integer> id;
public static volatile SingularAttribute<ObjectToQuery, Nested> nested;
public static volatile SingularAttribute<ObjectToQuery, OtherProperty> otherProperty;
[...]
}
(按嵌套的.id进行排序)
但我想按
ObjectToQuery.Nested.sortBy
我使用Hibernate 4.2.6.FINAL作为我的JPA实现我自己找到了答案:
Join<ObjectToQuery, Nested> join = rootObjectToQuery
.join(ObjectToQuery_.nested);
criteriaQuery.orderBy(criteriaBuilder.asc(join
.get(Nested_.sortBy)));
Join-Join=rootObjectToQuery
.join(ObjectToQuery\uu.nested);
criteriaQuery.orderBy(criteriaBuilder.asc(join
.get(Nested_u.sortBy));
我希望这对某人有帮助
ObjectToQuery.Nested.sortBy
Join<ObjectToQuery, Nested> join = rootObjectToQuery
.join(ObjectToQuery_.nested);
criteriaQuery.orderBy(criteriaBuilder.asc(join
.get(Nested_.sortBy)));