项目开发,使用HQL查询数据库,数据是有的,语句也正确,但是却没有查出预期的数据
产生疑问的HQL语句
SELECT
*
FROM
MMZW.READ_DOCUMENT readdocume0_,
MMZW.OADOCUMENT oadocument1_
WHERE
readdocume0_.DOCUMENT_ID=oadocument1_.ID
AND readdocume0_.ADD_USER_ID='ID'
AND
(
readdocume0_.FLOW_ID = '%11%'-- 这个没有执行
OR
oadocument1_.FLOWID LIKE '%11%'
)
解决问题的经过
1 刚开始怀疑HQL语句使用OR的问题,查找了有关资料,没找出语法错误,后来使用下面的语句排除了OR使用错误的原因
使用oadocument1_.FLOWID LIKE '%11%'可以查出数据
SELECT
*
FROM
MMZW.READ_DOCUMENT readdocume0_,
MMZW.OADOCUMENT oadocument1_
WHERE
readdocume0_.DOCUMENT_ID=oadocument1_.ID
AND readdocume0_.ADD_USER_ID='ID'
AND oadocument1_.