0

ネイティブ クエリを実行してランタイム パラメータを渡し、結果をリストとして取得しようとしています。オブジェクト [] を処理しようとすると、フェッチされた列の 1 つが文字列です。しかし、文字列ではなく java.lang.Character として出力されます。以下にクエリを示します。

SELECT CASE
         WHEN (TRUNC(abm.credit_card_expiration_date) BETWEEN trunc(SYSDATE) AND
              trunc(last_day(SYSDATE))) THEN
          'Expires'
         ELSE
          'Expired'
       END EXP_STATUS,
       TO_CHAR(abm.credit_card_expiration_date, 'MM/YY') EXP_DATE
  FROM account_billing_methods abm
 WHERE abm.account_id = 201103
   AND abm.billing_type_id = 1
   AND TRUNC(abm.credit_card_expiration_date) <= TRUNC(LAST_DAY(SYSDATE))

EXP_STATUS 列は文字型であるため、文字列に型キャストできませんでした。なぜそれが機能しないのかについてのアイデアはありますか?

よろしく、-アナンド

4

1 に答える 1

1

同じ問題があり、クエリの select 句を次のように変更しました。 EXP_STATUS || '' as EXP_STATUS

次に、CHAR ではなく VARCHAR であり、JPA はそれを Character ではなく String として返します。

誰かがより良い/よりエレガントなソリューションを知っている場合は、共有していただければ幸いです。

于 2012-03-28T12:31:20.390 に答える