0

hqlの問題で困っています。

別のテーブルの値に基づいて、属性を更新するクエリを作成したいと思います。

これは私の例です。Client と Widhdrawal の 2 つのテーブルがあります。

クライアント: idClient、名前 ...

Widhdrawal : idWidh、コスト、および idClient (外部キー)

(たとえばidClient = 5)の条件でクライアントを更新するとしても、できません。

私はこれを試しましたが、無駄でした:

        String hql = "UPDATE Widhdrawal W set W.cost = :salary "  + 
    "where W.Client.id_client = :employee_id)";

    Query query = session.createQuery(hql);
    query.setParameter("salary", 1000);
    query.setParameter("employee_id", 5);
    int result = query.executeUpdate();

どなたかアドバイスいただけると幸いです、よろしくお願いします。

4

3 に答える 3

0

これを試して:

 String hql = "UPDATE Widhdrawal W set W.cost = :salary "  + 
          "where W.idClient = :employee_id)";
于 2013-03-20T02:18:21.697 に答える
0

ありがとう、私は解決策を見つけました。これが他の人に役立つことを願っています...この問題はlowerCaseによるものです。

                String hql = "UPDATE Widhdrawal W set W.cost= :newCost "  + 
                      "where W.client.id_client = :id_cl";

            Query query = session.createQuery(hql);
于 2013-03-20T13:33:45.533 に答える