【发布时间】:2013-01-24 11:16:14
【问题描述】:
我目前正在创建一个用户定义的搜索,我的问题是当涉及到普通 sql(我在我的数据库中运行它)时它会返回一个结果,但是当涉及到 HQL 时它不会返回任何结果。
例子。我在 SQL 中做了这个查询。
SELECT * FROM USER_PROFILES WHERE FIRST_NAME LIKE '%somevalue existinDb%';
这会返回一个值,但是使用 HQL 查询对象
String someValue = "somevalue existinDb"
String temp_name = "%" +someValue + "%";
System.out.println(temp_name);
Query query = sess().createQuery(
"from UserProfile where firstName LIKE :temp_name").setParameter("temp_name",temp_name);
但是,HQL 查询对象不会呈现与 SQL 查询相同的结果。为什么会这样?
【问题讨论】:
-
尝试在您正在形成的 temp_name 的开头和结尾添加单引号
-
@Renjith 试过还是不行。
-
有异常吗?你的
somevalue existinDb怎么样?
标签: java sql hibernate hql sql-like