2016-10-25 7 views
-2

が機能していません。ここで休止状態:HQLは私が<strong>どこ</strong>句と<strong>と</strong>を使用して、私の休止状態のアプリケーションで<strong>SQL</strong>クエリを書い

は方法、

public List<Comobility> getComobilityByIdComobilityItemsAndIdPatient(int idComobilityItems, int idPatient, Session session) { 
    Query query = session.createQuery("from Comobility where comobility_items_idcomobility_items= :idComobilityItems and patient_idpatient= :idpatinet"); 
    query.setParameter("idComobilityItems", idComobilityItems); 
    query.setParameter("idpatinet", idPatient); 
    List<Comobility> list = query.list(); 
    return list; 
} 

しかし、これは動作していないです。例外やエラーはありません。実際には、結果はありません。

アイデアをお持ちですか?

+3

エラー/例外を取得しています – mhasan

+3

*「これは動作していません」*どのようにですか?どのように動作していないのですか?あなたはどんなふるまいをしていますか?コンパイルエラーですか?実行時に例外がスローされますか?データベースから予期しない結果が戻ってきていますか?どうしましたか? – nbrooks

+0

@mhasan:例外もエラーもない。だから私は混乱している。 – Barrier

答えて

1

あなたは、try catchブロックを使用してメソッドをラップしている

  1. のように試してみてください。私は、クエリが、それは

    public List<Comobility>getComobilityByIdComobilityItemsAndIdPatient(int idComobilityItems, int idPatient, Session session) { 
        try { 
         logger.debug("xxxx") 
         //do comething 
        } catch (Exception e) { 
         e.printStackTrace(); 
        } 
    } 
    
  2. は必ずあなたのメソッドのパラメータがnull

  3. はあなたのリストが空であるかを確認していない確認しますブロックをキャッチするために入力しますエラーがあると考えています。

  4. チェックのために、IDEデバッガを使用するか、メソッドにいくつかのログを入れることができます。

0

生成されたSQLをログで確認し、データベースに対して実行する必要があります。クエリがコンパイルされ、レコードが返されない場合は、特定の条件のレコードが存在しないことを意味します。

ハイバーネーションでSQLを生成するには、休止状態でshow_sqltrueに設定してください。

関連する問題