Ich habe einen Tisch Benutzer, der 100 Datensätze hat.Wie Batch-Abruf im Ruhezustand mit Kind-Tabes zu verwenden?
Ich habe Kind-Tabelle namens Benutzerrollen mit 200 Datensätzen (2 für jeden Benutzer).
Wenn ich alle Benutzer dann 100 Abfragen ausführen.
Ich benutze Liste userList = session.createCriteria (User.class) .list();
Gibt es eine Möglichkeit, es zu optimieren.
Dies löst nicht das Problem wieder 100 Abfragen mit Benutzertabelle laufen äußere Verknüpfung von Benutzerrollen. Auch dieser Eager-Join wird als veraltet angezeigt.public static final FetchMode DEFAULT = new FetchMode ("DEFAULT"); \t public static final FetchMode JOIN = neuer FetchMode ("JOIN"); \t public static final FetchMode SELECT = neuer FetchMode ("SELECT"); \t/** veraltet */ \t public static final FetchMode LAZY = SELECT; \t/** veraltet */ \t public static final FetchMode EAGER = JOIN; – user3302323
Tatsächlich sollten Sie FetchMode.JOIN anstelle von FetchMode.EAGER verwenden. – mateuszlo
Können Sie weitere Informationen bereitstellen: Wie sehen Ihre User- und UserRoles-Entitäten aus? Und wie diese 100 Anfragen aussehen? – mateuszlo