【发布时间】:2014-03-26 21:35:44
【问题描述】:
我有一个查询没有产生任何结果,即使底层数据库中肯定有与查询对应的数据。该查询正在由休眠运行,我想通过直接在 mysql 中运行查询来验证它。有人可以帮我从休眠转换为 SQL,以便我可以查看查询是否产生任何结果?
这是 Eclipse 控制台说正在运行的休眠查询:
select
drugword0_.name as name1_12_2_,
concepts1_.word as word1_12_4_,
drugconcep2_.rxcui as rxcui2_13_4_,
drugconcep2_.rxcui as rxcui1_10_0_,
atoms3_.rxcui as rxcui3_10_5_,
atoms3_.rxaui as rxaui1_39_5_,
atoms3_.rxaui as rxaui1_39_1_,
atoms3_.rxcui as rxcui3_39_1_,
atoms3_.str as str2_39_1_
from drugwords drugword0_
left outer join drugwordsconsoJunction concepts1_ on drugword0_.name=concepts1_.word
left outer join drugconcepts drugconcep2_ on concepts1_.rxcui=drugconcep2_.rxcui
left outer join rxnconso atoms3_ on drugconcep2_.rxcui=atoms3_.rxcui where drugword0_.name=?
如何将休眠查询转换为 MySQL 数据库的 sql 查询的工作语法? 为什么您认为我的休眠查询没有返回任何结果?休眠映射是否设置不正确?
为了帮助人们了解 hibernate 是从什么开始的,我从我的 spring mvc hibernate 应用程序中发布了一些代码。 注意:为了保持这篇文章的简短,我已将一些相关代码上传到文件共享站点。您可以通过单击以下链接查看代码:DrugWord 实体的代码是 at this link。DrugConcept 实体的代码是 at this link。DrugAtom 实体的代码是 at this link。
MySQL中创建底层数据表的代码是at this link。
填充基础数据表的代码is at this link。
一张表is at this link的数据。
另一个表is at this link 的数据。 (这是一个大文件,可能需要一些时间才能加载。)
为了帮助人们可视化基础数据,我提供了一个显示基础表中数据的前 2 个查询结果的打印屏幕,如下所示:
【问题讨论】:
标签: java mysql sql spring hibernate