メソッド起動時に InvocationException が発生しました。
2022-02-26 07:19:17
カテゴリー
著作権について この記事はブログのオリジナル記事であり、ブログ管理者の許可なく複製することを禁じます。
先日、次のようなエラーメッセージが表示される問題に遭遇しました。
<スパン 習慣的にググって解決策を探した結果、ほとんどの記事、ブログで ハイバネート この問題はレイジーローディングが原因なのですが、面白いことに、その解決策として lazy="false" とします。
<スパン <スパン 症状を治療しても根本的な解決にならないこの解決策には、笑わずにはいられません。
<スパン エラーメッセージをよく見てみると、ID [4028810749dfa59c0149dfaf16810004] を持つ OrgInfo オブジェクトが存在しないという、実はごく当たり前のバグであることがわかりました。
<スパン そこでデバッグしてみると、OrgInfoModifyがここでOrgInfoオブジェクトを取得する際に、その値がcom.sun.jdi.InvocationExceptionが発生してメソッドを起動したことが問題の原因であることがわかりました。
<スパン <スパン
- について (OrgInfoModify orgInfoModify : modifyList) {。
- OrgInfo orgInfo = orgInfoModify.getOrgInfo()です。
- もし (orgInfo ! ヌル ) {
- もし (!groupOrgId.equals(orgInfo.getObjId())) {
- resList.add(orgInfoModify)を実行します。
- }
- }
- }
書き忘れましたが、二次開発なのでソースコードにあまり詳しくなく、問題のある特定のモジュールのコードスニペットを見に行くしかありません。
そこで、OrgInfoModifyのソースコードを見てみると、OrgInfoModifyはOrgInfoと一対一の関係であることがわかります。
<スパン <スパン
- /** 機関 */
- ManyToOne (フェッチ=FetchType.LAZY, オプション= 真 )
- ジョインカラム (名前= ORG_INFO_ID" ) // 外部キーの関連付け
- バッチサイズ (サイズ = 15 ) // バッチクロール
- プライベート OrgInfo orgInfo;
つまり、エラーメッセージからすると OrgInfoテーブルでID [4028810749dfa59c0149daf16810004]のレコードを見つけるには、レコードが存在しないので、遅延ロードは、オブジェクトが正常にロードするために失敗する原因となる。
この時点で、エラーの原因は明らかです。次のステップは、欠落しているデータを修正することであり、多くのウェブで言われているように lazy プロパティを false に設定することではありません。
関連
-
List<Integer> 型をインスタンス化できません。
-
JAVAMail TLS配信の注意点
-
XXX型を囲むインスタンスはアクセスできない問題をJavaで解決
-
java.lang.UnsupportedOperationException 解決方法
-
無効なカラム名
-
[Java] jdk1.7 trustAnchors パラメータは空であってはならない
-
svn: 接続から読み取ることができません。リモートホストが既存の接続を強制的に閉じました。
-
既に使用されているアドレス:JVM_Bind (ポート競合)
-
エラー:ResultSetが閉じた後の操作は許可されません。
-
java.lang.NoClassDefFoundError: Could not initialize class xxx 原因と対処法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
互換性のない型です。ArrayList<ArrayList<Integer>>はList<List<Integer>>に変換できない。
-
Java 文字クラスとメソッド
-
環境変数JAVA_HOME(値xxx)が有効なJVMのインストール先を指していません。
-
エラー コンストラクタ worker(int, String, float) は未定義です。
-
未処理の例外:java.text.ParseException
-
Java の詳細です。Listはadd(null)できる?
-
JAVA全バージョンの特徴、これだけ見れば十分! JAVA 1.0 - JAVA 17] をご覧ください。
-
Spring c3p0 接続プール構成 com.mchange.v2.c3p0.combopooleddatasource
-
Mavenプロジェクトレポート 言語レベル「5」ではDiamond型がサポートされない
-
JAVAがJNative学習のダイナミックリンクライブラリDLLを呼び出す。