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

标签 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

但这会引发异常。正确的做法是什么?

最佳答案

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

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

关于java - 在 Hibernate 中使用 Criteria 时如何访问内部属性的内部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15576863/

相关文章:

java - Hibernate 返回 BigIntegers 而不是 longs

java - 在预更新事件时获取 hibernate 持久对象

Hibernate映射异常: Repeated column in mapping for entity

java - OSGi - 按名称 (id) 获取 ds 服务

java - out.println 说 out 无法解析

java - 具有可变数量的构造函数参数的子类的静态工厂方法

java - 设置JAVA_HOME

java - Socket 的 dataInputStream 是否知道如何处理对其进行多次写入?

hibernate - [HV000030 : No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.String'

java - 如何为 EntityManagerFactory 设置 Hibernate 拦截器