Ahoj,
nevím, jestli to je normální, ale nastíním situaci jak to mám a jak se mi to vůbec nelíbí, protože mi to zpomaluje funkčnost celého webu.
Databázi mám například tak, že mám tabulku - třeba A, která má s tabulkami B, C, D, E ... vazbu 1:N
(A... více B; A... více C; atd.)
Pokud ale si udělám dotaz v hibernatu aby mi vybral třeba nějaké záznamy z té tabulky A - jednoduše bych napsal:
SELECT * FROM A
a pokud pak výsledky procházím, automaticky to volá dotazy tak, aby k tomu dostal i výsledky z tabulek B, C, D, E, ...
To znamená, že pokud vybírám třeba 10 záznamů z tabulky A, celkem se pošle databázi cca 10 * počet svázaných tabulek ... takže kolem 40 dotazů... TO JE NORMÁLNÍ???
Přijde mi to moc přehnané. Co byste mi poradili? Nejsem v tom moc sběhlý, je to moje první práce s Hibernate...
Díky za odpovědi!
Fórum › Java
Hibernate posílá moc dotazů do db
Když se to dotazuje na svázané výsledky, tak to samozřejmě normální je. Pokud se tomu chceš vyhnout, tak to vyřiď všechno jedním dotazem (pokud HQL umí to co SQL), a to něco na způsob:
select * from A, B, C where ID_A = B_ID_A AND ID_A = C_ID_A
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 61 hostů
Podobná vlákna
Hibernate M:N — založil tomassss
Hibernate a postgresql — založil Lubo
Spring hibernate — založil Jaub
Moc velké pole — založil Hlavinka
Problém s Integrály moc prosím o pomoc — založil roubajs
Moderátoři diskuze