次のような単純なHibernateクエリがあります。
from MyEntity where name = ?
特別なことは何もありませんが、かなり大きなトランザクションで何度も呼び出されます(1秒間続き、数十または数百のエンティティをロードする場合があります)。プロファイラーは、次のことに多くの時間が費やされていることを示しています。
org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1185)
org.hibernate.internal.SessionImpl.list(SessionImpl.java:1240)
org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
つまり、実際のクエリを実行する前に変更をフラッシュします。
どういうわけか、Hibernateがこのフラッシュを実行するのを完全に防ぐことはできますか?
そうでない場合、それをより速くするために私は何ができますか?