2012-02-16 10 views
0

は動作しませんプリペアドステートメントは、私は次のクエリを実行すると

org.hibernate.PropertyAccessException:反射によるフィールドの値を取得できませんでした

:model.configuration.Model.id

私は上記のような醜いクエリによってプリペアドステートメントを交換するとき、それが動作するのゲッター

return (Formation) em 
    .createQuery(
      "SELECT f FROM Formation f WHERE f.model" + modelType + "= " + modelId) 
    .getSingleResult(); 
+0

のようなものを期待すると思いますが、あなたはフォーメーションクラスのmodelId属性に対するゲッターとセッターを持っていますか? – kand

+0

なぜ私はgetterとmodelIdという名前のセッターが必要なのか分からず、modelIdという名前のフィールドはありません。 modelIdは、私がgetterとsetterを持っている3つのmodelType:modelReport、modelProposal、modelInternshipのいずれにも一致しません。 – DevAntoine

答えて

0

私はmodelIdは、ネストされたエンティティのIDはなく実体そのものであるので、私はこの

"SELECT f FROM Formation f WHERE f.model" + modelType + ".ModelId = :modelId") 
関連する問題