0
當我做下面的查詢:預處理語句不起作用
return (Formation) em
.createQuery(
"SELECT f FROM Formation f WHERE f.model" + modelType + "= :modelId")
.setParameter("modelId", modelId)
.getSingleResult();
我得到這個錯誤:
org.hibernate.PropertyAccessException:無法獲得通過反射字段值model.configuration.Model.id的吸氣
當我通過類似上面的一個醜陋查詢代替準備好的語句,它的工作原理:
return (Formation) em
.createQuery(
"SELECT f FROM Formation f WHERE f.model" + modelType + "= " + modelId)
.getSingleResult();
你有沒有在地層類的modelId屬性的getter和setter? – kand 2012-02-16 15:41:52
我不明白爲什麼我需要一個getter和一個名爲modelId的setter,而我沒有它們,因爲我沒有任何名爲modelId的字段。 modelId不能匹配三個modelType:modelReport,modelProposal,modelInternship中的一個,爲此我有getter和setter。 – DevAntoine 2012-02-17 08:44:08