リスナー内にThread.sleep(50000)を入れてこれを証明しました。データは文字通り50秒間DBに格納されませんでした。PostInsertEventListenerは、DBが更新される前に実行されました
エンティティのID(これはBTWにあります)をWebサービスに渡して同じデータベースにアクセスしているので、これは奇妙でむしろ残念です。新しいスレッドで呼び出しを行わないと、データが存在しないためWebサービスが例外をスローします。
私はハック方法を適用し、新しいスレッド内の呼び出しを行う、おそらくいくつかの時間遅延を前に、それは、醜い
してくださいすることに役立つであろうことができます。
PostInsert!=コミット。トランザクションを正しく使用していることを確認してください。あなたのケースでは、挿入後にDBに問い合わせるだけでしたが、コミットはその時点では起こっていないようです。 – SirVaulterScoff