Hibernate の世界では、単体テストは成功したように見えても、キャッシュされたデータを扱っているために実際には現れないバグが存在することがよくあります。たとえば、保存をカスケードしていると考えて、親とその子を保存する場合があります。保存後に親を再クエリし、子コレクションのサイズをテストすると、問題ないように見えます。しかし実際には、Hibernate は子を保存しませんでしたが、親をキャッシュしたので、保存されていない子を見ています。これを回避する 1 つの方法は、保存とクエリの間にセッション キャッシュをクリアして、データがデータベースから直接取得されていることを確認することです。
これは ActiveRecord の問題ですか? モデルを保存して同じテストでクエリを実行すると、実際にはデータベースからではなく、クエリ キャッシュからデータを取得している可能性はありますか? これに対処しようとするサンプル テストは見たことがありません。