当前位置:编程学习 > JAVA >>

关于Hibernate Criteria查询的排序问题

使用对criteria一张表进行查询并排序  一般情况是这样
criteria.addOrder(Order.desc("XXX"))
其中XXX是我要排序的这个表字段对应PO的一个属性

但是现在我要以PO的一个外键连接到的表内的一个字段来进行排序
比如我要用Criterion查询排序的是stu_competition这个表,对应的PO是StuCompetition,stu_competition中有一个链接到personinfo表的外键,而我就是要以为个personinfo中的一个字段年龄进行排序

Personinfo和StuCompetition 定义如下


@Entity
@Table(name="personinfo")
public class Personinfo{
……
@Column(name="pi_age",length=100)
    private int age;
……
}



@Entity
@Table(name="stu_competition")
public class StuCompetition {
...
 @ManyToOne(targetEntity=Personinfo.class,cascade=CascadeType.REFRESH)
 @JoinColumn(name="sc_student_id",nullable=false)
  private Personinfo personInfo;
...
}


我写成了criteria.addOrder(Order.desc("personInfo.age")) 结果报错了
不知道是不是因为criteria不支持这样外键的写法,还是因为我写法有误,求指导。。

注:因为程序架构已经定下来了,是使用Criterion查询的,所以尽量不改用HQL写法。。 Hibernate Criterion 排序 --------------------编程问答-------------------- 顶,来人啊,你们在哪里 --------------------编程问答-------------------- 不懂帮顶,贴错误报告 --------------------编程问答-------------------- ...CSDN居然没人,我了个擦
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,