[解決済み] Hibernate - バッチアップデートは、更新から予期しない行数を返しました:0 実際の行数。0 予想: 1
2022-01-29 07:18:43
質問
以下のようなHibernateエラーが発生します。この問題を引き起こす関数を特定することができます。残念ながら、その関数の中にはいくつかのDB呼び出しがあります。hibernateはトランザクションの終了時にセッションをフラッシュするので、私は問題の原因となる行を見つけることができません。以下の言及されたハイバーネートエラーは、一般的なエラーのように見えます。どのBeanが問題を引き起こしているのかさえ言及されていません。このハイバーネートエラーに詳しい方はいらっしゃいますか?
org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:93)
at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:79)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:584)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransacti
onManager.java:500)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManag
er.java:473)
at org.springframework.transaction.interceptor.TransactionAspectSupport.doCommitTransactionAfterReturning(Transaction
AspectSupport.java:267)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
解決方法は?
トランザクションのコードとマッピングがなければ、問題を調査することは不可能に近いでしょう。
しかし、何が原因かを知るために、以下のことを試してみてください。
- hibernateの設定で、hibernate.show_sqlをtrueに設定します。これにより、実行されて問題の原因となる SQL が表示されるはずです。
- SpringとHibernateのログレベルをDEBUGに設定します。これもまた、どの行が問題を引き起こすかについて、より良いアイデアを提供します。
- Springのトランザクションマネージャを設定せずに、問題を再現するユニットテストを作成します。これにより、問題のあるコードの行についてより良いアイデアを得ることができるはずです。
お役に立てれば幸いです。
関連
-
[解決済み】エラー:'if'のない'else'エラー
-
[解決済み】imageio.IIOException: 入力ファイルが読み込めない
-
[解決済み】Javaクラスの "型に解決できない"
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み】なぜjava.io.Fileにはcloseメソッドがないのでしょうか?
-
[解決済み] intellijが自動配線リポジトリにタイプのBeanが見つからないと不正確な発言をする件
-
[解決済み】Javaで文字列をコピーするにはどうしたらいいですか?
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み】接続Java - MySQL : 公開鍵の取得は許可されていません。
-
[解決済み] JDBC バッチアップデートを実行できませんでした:スレッド "main" で例外 org.hibernate.exception.ConstraintViolationException:
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] java.sql.SQLException: ユーザー 'root'@'localhost' (using password: YES) のためのアクセスが拒否されました。
-
[解決済み】Android java.lang.IllegalStateException: Android java.lang.IllegalStateException: Could not execute method of the activity
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み] メソッドがそのスーパークラスのメソッドをオーバーライドしない
-
[解決済み】メソッド本体がない、またはJavaで抽象的な宣言をする
-
[解決済み】Javaでユーザー入力を待機させる方法
-
[解決済み】Gradleがtools.jarを見つけ出さない
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み】Eclipseで「パッケージエクスプローラー」ビューが見つからない
-
[解決済み】接続Java - MySQL : 公開鍵の取得は許可されていません。