【发布时间】:2015-01-13 08:00:42
【问题描述】:
我有一个与Syntax for input parameters in a MySQL query 相同但不同的问题。
在上面的链接中,查询是使用@ 变量实现的。我已经用? 实现了一个查询。它不起作用..代码在这里
String queryString = "from OptimumMeasure as model where model.id.goalId= ? " +
" and model.id.questionId= ? and model.id.attributeId= ?";
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, goalId);
queryObject.setParameter(1, questionId);
queryObject.setParameter(2, attributeId);
return queryObject.list()
提前致谢。
【问题讨论】:
-
怎么不工作了?您收到错误消息了吗?
-
实际上它正在运行,但它没有取变量的值..
-
你用的是java持久化吗?我认为您将 sql 准备语句语法与 java 持久性语法混淆了。在此处查看底部的位置参数docs.oracle.com/javaee/6/tutorial/doc/bnbrg.html
-
@Phil_1984_ 是的,我很困惑,谢谢。我正在使用 Java 持久性。它没有返回值。它将 NULL 传递给我调用它的其他方法。我不知道为什么会这样。
-
我认为您使用的是休眠对吗?