0

既存の Web アプリケーションの更新に取り組んでいます。テーブルを作成し、データを追加/削除するためのクラスをいくつか作成しました。何らかの理由で、データを挿入できますが、テーブルにデータがあるのに結果を取得できません。結果を返す同じコードを使用して、テスト クラスを作成しました。ただし、クラスをサービスとして呼び出すと、結果セットは毎回 null になります。また、作成したテーブル/オブジェクトからではなく、コードを使用して他の既存のテーブルからデータを取得できることにも注意してください。さらに、デバッガーから SQL クエリを取得してデータベースに対して実行し、結果を取得しました。

コードは次のとおりです。

public DiscountCode getDiscountCodeDetails(String code) {

    Session session = HibernateUtil.openSession();
    Transaction transaction = session.beginTransaction();
    String query = "from DiscountCode where isActive = 1 and discountCode = :replace";
    **DiscountCode discountCode** =  (DiscountCode) session.createQuery(query).setParameter("replace", code).uniqueResult();
    transaction.commit();
    session.close();

    return discountCode;
}

discountCode は常に NULL です。

このテスト コードは、メインの単純なクラスで動作します。 String replace = "TEXT10";

    Session session = HibernateUtil.openSession();
    Transaction transaction = session.beginTransaction();
    String query = "from DiscountCode where isActive = 1 and discountCode = :replace";
    DiscountCode discountCode =  (DiscountCode) session.createQuery(query).setParameter("replace", replace).uniqueResult();

    transaction.commit();
    session.close();
    System.out.println(discountCode.getDiscountCodeName());

私はこれと長い間戦ってきたので、できるだけ早くこれを乗り越える必要があります. どんな助けでも大歓迎です。

4

0 に答える 0