[Javalist] Hibernate outer join

Zsombor gzsombor at gmail.com
2013. Okt. 22., K, 22:35:36 CEST


Miért van bekapcsolva a join fetching ? Lazy loading a Te barátod. ... egy
ideig :)

Üdv
 Zs


2013/10/22 Király Péter <kirunews at freemail.hu>

> Sziasztok,
>
> következő a problémám. Vannak felhasználók, akiknek lehetnek elmentett
> kereséseik, címkéik, kedvenceik, és API kulcsaik. Mind az öt egy-egy
> különálló osztály, hozzá tartozó táblázattal az adatbázisban, a user
> azonosítója köti őket a user objektumhoz. Az egész ügyet a Hibernate
> kezeli. Amikor egy-egy felhasználónak volt több tucat elmentett eze-aza,
> akkor ez egyes mentések elkezdtek lassulni. Némi nyomozás után kiderült,
> hogy amikor egy user objektumot lekérek, akkor a Hibernate outer join-nal
> összekapcsolja a táblákat és létrejön egy baromi nagy, redundáns taláati
> lista az adatbázisban (például 94 ez, 9 az, 14 amaz és 5 emez esetén 59 220
> soros találati halmaz, ami sosornként tartalmazza az összes tábla összes
> oszlopát (némelyiket duplán is  -- 94 * 9 * 14 * 5 = 59 220). Egy Hibernate
> FAQ (
> https://community.jboss.org/wiki/HibernateFAQ-AdvancedProblems?_sscc=t#jive_content_id_Hibernate_does_not_return_distinct_results_for_a_query_with_outer_join_fetching_enabled_for_a_collection_even_if_I_use_the_distinct_keyword)
> azt mondja, hogy ez normális. Lehet ugyan trükközni a HQL-ben, de az nem az
> SQL-t fogja módosítani, hanem a találati halmazon a memóriában fog
> változatni. Ezt nem nagyon akarom elhinni. Hogy lehet az, hogy amikor mind
> a adatbázisban, mind a Java objektumok oldalán szépen normalizáljuk a
> dolgokat, a Hibernate nem egyesével kérdezi le a csatolt táblákat, hanem
> egy ilyen erőforráspazarló és lassú megoldást produkál? Azt remélem, hogy
> van valamilyen kapcsoló, amit én nem vettem észre. Merre induljak el, mit
> tanácsoltok?
>
> Köszönettel,
> Király Péter
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20131022/6735a152/attachment.html>


További információk a(z) Javalist levelezőlistáról