相关疑难解决方法(0)

不能在JDBC PreparedStatement中使用LIKE查询?

查询代码和查询:

ps = conn.prepareStatement("select instance_id, ? from eam_measurement where resource_id in (select RESOURCE_ID from eam_res_grp_res_map where resource_group_id = ?) and DSN like '?' order by 2");
ps.setString(1,"SUBSTR(DSN,27,16)");
ps.setInt(2,defaultWasGroup);
ps.setString(3,"%Module=jvmRuntimeModule:freeMemory%");
rs = ps.executeQuery();
while (rs.next()) { bla blah blah blah ...
Run Code Online (Sandbox Code Playgroud)

返回一个空的ResultSet.

通过基本的调试我发现它的第三个绑定是问题,即

DSN like '?'
Run Code Online (Sandbox Code Playgroud)

我尝试了各种各样的变化,其中最明智的似乎是使用:

DSN like concat('%',?,'%')
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为我错过'了连接字符串的两边,所以我尝试:

DSN like ' concat('%',Module=P_STAG_JDBC01:poolSize,'%') ' order by 2
Run Code Online (Sandbox Code Playgroud)

但我似乎无法找到一种方法让他们参与其中.

我错过了什么?

java oracle jdbc sql-like

30
推荐指数
3
解决办法
6万
查看次数

HQL中按字符串参数的自定义订单

我有一个像这样的HQL查询:

Query query = session.createQuery("from User as user where user.joined!=null order by user.joined desc");
Run Code Online (Sandbox Code Playgroud)

如何设置变量User属性作为查询的排序顺序?我的解决方案:

String order = "user.joined";
Query query = session.createQuery("from User as user where user.joined!=null order by :order desc").setString("order", order);
Run Code Online (Sandbox Code Playgroud)

没有给出有序的查询结果。

hibernate hql

6
推荐指数
1
解决办法
6457
查看次数

标签 统计

hibernate ×1

hql ×1

java ×1

jdbc ×1

oracle ×1

sql-like ×1