在Hibernate中使用Criteria时如何访问内部属性的内部?

时间:2013-03-22 17:53:04

标签: java hibernate

我有一个名为Patient的类,它引用了PatientBasic类。喜欢这个

public class Patient{
       PatientBasic patientBasicInfo;
}

public PatientBasic{
       String firstName;
       ....
}

我想在Hibernate中制作一个像这样的标准:

Criteria criteria=session.createCriteria(Patient.class, "patient");
criteria.add(Restrictions.ilike("patient.patientBasicInfo.firstName", filter+"%")); //Throws exception

但这引发了一个例外。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

在这个简单的情况下不需要别名:

    Criteria criteria=session.createCriteria(Patient.class);
    criteria.createCriteria("patientBasicInfo")
                .add(Restrictions.ilike("firstName", filter+"%"));
    List<Patient> patients = criteria.list();