2015-01-12 19 views
0

我有一種相同但不同的問題,問Syntax for input parameters in a MySQL query用於輸入參數的語法?在一個MySQL查詢

在上面的鏈接查詢與@變量實施。我用?實施了一個查詢。它不工作..代碼在這裏

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() 

在此先感謝。

+0

它是如何不工作?你是否收到錯誤信息? –

+0

其實它的運行,但它沒有采取變量的值.. –

+0

你使用java持久性?我認爲你正在將SQL準備語句語法與java持久性語法混淆。請參閱底部的位置參數http://docs.oracle.com/javaee/6/tutorial/doc/bnbrg.html – Phil

回答

0

只是一個猜測,但它似乎不太可能,你有一個「id」屬性,將是除id之外的任何東西。

嘗試使用鏈接對象的屬性名稱,然後將其ID:

from OptimumMeasure as model 
where model.goal.id = ? 
and model.quaestion.id = ? 
and model.attribute.id= ? 
+0

波希米亞..不,不。它不是這樣的。它的語法沒問題,但在將值返回給其他方法時遇到了一些問題。 –