[解決済み] javax.persistence.NoResultException: クエリに対応するエンティティが見つかりませんでした。
2022-02-19 20:34:35
質問
この質問を投稿する前に、私はすでに これ しかし、私が探しているものを得ることができませんでした。
私が書いたクエリでは、1行しか存在しないか、まったく存在しないかもしれないことは承知しています。そのため、私がこのクエリで
getResultList()
.
以下は私のコードです。
String hql="from DrawUnusedBalance where unusedBalanceDate= :today";
Query query=em.createQuery(hql);
query.setParameter("today",new LocalDate());
DrawUnusedBalance drawUnusedBalance=
(DrawUnusedBalance)query.getSingleResult();// we can have only a
// single datum per day
//`System.out.println(drawUnusedBalance.toString());`
問題は、行がない場合は例外がスローされ、ない場合は正常に動作することです。私は問題を知っていますが、私はまた、最良の解決策を探しています。
私が欲しかったのは、DBに行がない場合、私は(例外を得る代わりに)NULLオブジェクトを取得したいので、私は新しいデータを挿入し、それがNULLでない場合、私はそれを更新したいだけです。
この処理には1つの方法がありますが、私はこの方法は正しくないと思っています。それは 私はトライキャッチブロックを持ち、それが例外をスローした場合、私はキャッチブロック上でDBに新しいデータを挿入するために書き込むことができます。しかし、私はより良い方法があると信じています。
どのように解決するのですか?
はい。
try/catch
ブロックは必要ありませんが
Exception
.
のように
API
を投げます。
NoResultException
がない場合、それをどのように処理するかはあなた次第です。
DrawUnusedBalance drawUnusedBalance = null;
try{
drawUnusedBalance = (DrawUnusedBalance)query.getSingleResult()
catch (NoResultException nre){
//Ignore this because as per your logic this is ok!
}
if(drawUnusedBalance == null){
//Do your logic..
}
関連
-
[解決済み】Javaクラスの "型に解決できない"
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】純粋なJUnitテストにVisibleForTestingを使用する方法
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptでNULL、未定義、空白の変数をチェックする標準的な関数はありますか?
-
[解決済み] GsonでList<T>オブジェクトをデシリアライズする?
-
[解決済み] JUnit Testアノテーションを使用して例外メッセージをアサートするにはどうすればよいですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】MySQL:カラムがNULLの場合の行の選択
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】なぜjava.io.Fileにはcloseメソッドがないのでしょうか?
-
[解決済み】「java -cp」と「java -jar」の違い?
-
[解決済み】Gradleがtools.jarを見つけ出さない
-
[解決済み] intellijが自動配線リポジトリにタイプのBeanが見つからないと不正確な発言をする件
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み] StringBuilderをクリアまたは空にするにはどうすればよいですか?重複] [重複] [重複] [重複] [重複] [重複
-
[解決済み] JPA getSingleResult() or null