【问题标题】:How can i write join in named query?如何在命名查询中编写连接?
【发布时间】:2018-02-27 15:03:59
【问题描述】:

我试图写这个查询,但是它抛出了一个异常

@NamedQueries({
@NamedQuery(name = "doctor_searchDoctor", 
              query= "SELECT d FROM Doctor d "
                    + "WHERE ((d.englishName = :P_NAME_EN OR :P_NAME_EN = '-1' ) "
                    + "AND d.id IN (select c.doctorId from Clinic c "
                    + "JOIN DoctorSpecializations s "
                    + " where ((c.cityId = :D_CITY_ID OR :D_CITY_ID = -1 ) AND (s.specializationId = :D_SPECIALIZATION_ID OR :D_SPECIALIZATION_ID = -1))))"

  ),
})

在调试代码时发现异常

org.hibernate.HibernateException:命名查询中的错误:医生搜索医生

【问题讨论】:

    标签: mysql database hibernate


    【解决方案1】:

    您在WHERE ((d.englishName blah 中缺少一个),在Clinic c) 之后放置一个

    【讨论】:

    • 声明全文为select c.doctorId from Clinic c JOIN DoctorSpecializations s
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    相关资源
    最近更新 更多