以下の 2 つのケースでは、Hibernate EntityManagerfind
メソッドの動作が異なるようです。
ケース 1 - トランザクションの開始前にエンティティがデータベースに存在しない。find
エンティティのトランザクション内で、が返されますnull
。
ケース 2 - エンティティはトランザクション前に DB に存在します。トランザクション内では、エンティティがremove
'd でfind
あり、同じキーの がスローされEntityNotFoundException
ます。
これは予想される動作ですか?flush
同じように動作させるには、前にa を実行する必要がありfind
ますか?