JPA(EclipseLink)のデータベースでクエリのログを記録し、JPAの "最適化"と "キャッシュ"の恐怖を目の当たりにしました。このような単純なJPAクエリやっ例えばJPAクエリ "optimization"
、:
SELECT p FROM Picklist p;
が...ピックリストから*そう選択し、JPAは、データベースへのSQLクエリの百万円(各レコードに対して1つのクエリを実行するようになりますここでid = [...])。そしてPicklistは簡単なエンティティです!
なぜSELECT * FROM Picklistを実行せず、メモリ内に(Persistance Contextなどを埋める)他の処理もしません。
これを行うには、特別なスイッチが必要ですか?なぜそれはこのように働いているのですか?
はなぜピックリストPからPを選択されていない、
参照関係を最適化する方法を参照するには、 ?なし(ピックリストp) –
入力ミス、修正。 – bozo