既存の 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());
私はこれと長い間戦ってきたので、できるだけ早くこれを乗り越える必要があります. どんな助けでも大歓迎です。