mic*_*ard 2 sql parameters hibernate hql
我正在使用以下代码来(尝试)查询数据库:
Query query = session.createQuery("from Trace where service = :service");
query.setParameter("service", clientRequest[0]);
Run Code Online (Sandbox Code Playgroud)
其中clientRequest [0]来自Strings数组,服务变量是我的POJO中的String,映射到MySQL数据库中的VARCHAR(45).
当我运行此代码时,Hibernate将执行的SQL查询显示为:
Hibernate: select trace0_.traceId as traceId0_, trace0_.service as service0_, trace0_.longitude as longitude0_, trace0_.latitude as latitude0_, trace0_.timestamp as timestamp0_ from trace trace0_ where trace0_.service=?
Run Code Online (Sandbox Code Playgroud)
这让我相信clientRequest [0]的值没有被正确设置为参数.
我已经检查过clientRequest [0]包含一个有效的字符串.我已经尝试了其他创建查询的方法,但这些方法都没有用,它们总是将服务显示为"?",而如果我使用显而易见的:
Query query = session.createQuery("from Trace where service = 21");
Run Code Online (Sandbox Code Playgroud)
它自然给出了正确的反应
Hibernate: select trace0_.traceId as traceId0_, trace0_.service as service0_, trace0_.longitude as longitude0_, trace0_.latitude as latitude0_, trace0_.timestamp as timestamp0_ from trace trace0_ where trace0_.service=21
Run Code Online (Sandbox Code Playgroud)
什么可能阻止setParamater正常工作?
| 归档时间: |
|
| 查看次数: |
2008 次 |
| 最近记录: |