Hibernate hql - 帮助查询外键

标签 hibernate hql

我正在尝试从表约会中查询外键患者 ID。

我的 Appointment 对象映射到我的 Patient 对象(不知道它对 hql 是否重要),如下所示:

    <many-to-one name="patient" class="application.model.Patient" fetch="select">
        <column name="patientId" not-null="true" />
    </many-to-one>

我的查询是:
    createQuery("from Appointment as appt where appt.patientId = 1").list();

我试图做这样的连接:
    createQuery("from Appointment as appt join appt.patientId ptid where ptid.patientId = 1").list();

我一定遗漏了一些基本的东西,因为“appt.appointmentId = 1”工作得很好。任何建议将不胜感激。

最佳答案

HQL 是一种对象查询语言,因为你有一个引用,所以你需要先访问引用来获取 id。假设患者类有一个属性patientid

createQuery("from Appointment as appt where appt.patient.patientId = 1").list();

关于Hibernate hql - 帮助查询外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9621856/

相关文章:

java - Hibernate父子关联

java - 将父组合键作为子组合主键一部分的 JPA 注释

java - 在 Spring Data JPA 中,派生的 find 方法在一个事务中多次调用时不使用一级缓存,但默认的 findById 会

java - 在 hibernate 事务中创建一个简单的 jdbc 事务

java - 如何在 HQL 中使用 "order by case when ..."?

java - Hibernate - 对条件结果执行 HQL 查询

java - hql 与 @CollectionTable 联接

java - 带集合的 Hibernate AliasToBean

java - 如何在带有 set 的参数上使用 hibernate 搜索条件

java - 验证组继承