エラー バッチアップデートが予期しない行数を返しました。
エラー バッチアップデートが予期しない行数を返しました。
転載元
http://rmeebh.iteye.com/blog/405774
ブログカテゴリー:ハイバーネート
HibernateBeanBlog
Hibernateの更新例外で一括更新が予期せぬ行数を返す
ERROR [http-8080-Processor22] (BatchingBatcher.java:60) - バッチの実行中に例外が発生しました。
StaleStateException: バッチアップデートが予期しない行数を返しました アップデートから:0 実際の行数。0 予想:1
このエラーの主な原因は次の2つです。
(1)
hibernate saveOrUpdate メソッドがインスタンスの保存に使用されています。saveOrUpdate では、SAVE が実行される前に ID が NULL である必要があり、それ以外の場合は UPDATE が実行されます。
インスタンスをnewで保存したが、IDがNULLではないので、UPDATEを使ったが、データベースに主キーに関連する値がないので、例外が発生した場合。
=================================================================
例外あり
挿入時.
StaleStateException: バッチアップデートが予期しない行数を返しました アップデートから:0 実際の行数。0 予想:1
回避策
unsaved-value="null"が設定されている。
を詳しく見ることができます。
http://www.iteye.com/topic/1604
(2) この例外は、Hibernateが1対多、多対1、多対多をマッピングする際に、以下のようなコードで追加されることが多いようです。
Javaコード コレクションコード
public void saveFunctionCell(FunctionCell functionCell, Integer pid) {
System.out.println("Now do the add operation");
FunctionCell fc = new FunctionCell();
try {
BeanUtils.copyProperties(fc, functionCell);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
fc.setFuncCellID(null);
// get parent authority
FunctionCell pfc = functionCellDao.findFunctionCellByID(pid);
fc.setParentFunctionCell(pfc);
functionCellDao.saveFunctionCell(fc);
}
豆粒の使い方がポイント!!(笑)。
BeanUtilsがBeanプロパティをコピーすると、すべてのInteger型に0がセットされます。
この解決策は
http://hain.iteye.com/blog/105744
Javaコード集コード
update by id
if(id==0)
StaleStateException: Batch update returned
unexpected row count from update: 0 actual row count: 0 expected: 1
else
success
関連
-
[解決済み] Hibernateはorg.hibernate.AnnotationExceptionをスローします。エンティティに指定された識別子がありません: com..domain.idea.MAE_MFEView
-
[解決済み】Hibernateの問題 - "マッピングされていないクラスをターゲットにした@OneToManyまたは@ManyToManyの使用"
-
[解決済み】DTOからエンティティへ、エンティティからDTOへ
-
[解決済み] org.hibernate.PersistentObjectException: 永続化するために渡されたデタッチド・エンティティー
-
[解決済み] ConfigurationException: プロジェクトのルート・フォルダに cfg.xml リソース [hibernate.cfg.xml] が見つかりませんでした。
-
[解決済み] Spring Boot spring.datasource.schema VS spring.jpa.properties.hibernate.default_schema
-
[解決済み] Spring HibernateのDataIntegrityViolationExceptionを解決するにはどうすればよいですか?
-
[解決済み] Hibernate関数Restrictions.allEq(Map<String、Object>)は、どのようにNULL値を処理しますか?
-
PersistentObjectException: 永続化例外に渡された離脱したエンティティ
-
Hibernate Newbie FAQ org.hibernate.service.spi.ServiceException: 要求されたサービスを作成できません
最新
-
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 実装 サイバーパンク風ボタン