Zdravím!

Také jsem se s tím setkal a dospěl jsem k závěru, že to jinak vyřešit nejde.

U JBOSSu fungovala Lazy inicializace.
Ta způsobila to, že se prostě podřízené entity nenačítaly.
Problém vznikl až v místě, kde jste potřeboval přistupovat k podřízeným entitám.
V tu dobu to vyhodilo výjímku.

Vyřešit se to dalo prostě tak, že jsem si napsal další metody, které načítaly podřízené entity -
např:
public List<Employee> findEmployeesByCompanyId(int id);

U Glassfishe to je ještě horší - tam LAZY inicializace vůbec nefunguje. Musí se použít všude EAGER. Další možnost je použít DTO(data transfer object), který nežádoucí podřízené entity vůbec neobsahuje.
- to jsem ovšem ještě nezkoušel.


Jde o to, že EJB očekává práci s Remote rozhraním.
Tedy pokud načtete entitu a přenesete jí přes RMI, tak na straně klienta již není možné načíst podřízené entity.

Je možné, že se mýlím - to bych byl docela rád ;-)

Fafi

Schaumann Jan napsal(a):
Ahoj vsichni,

v me webobe aplikaci resim pristup k db pres EJB. V db mam tabulku UZIVATEL(id, misto_id,....) a MISTO(id, nazev)

Problem nastava ve chvily kdy mam hodne uzivatelu(1000), a chci je vypsat na 
obrazovku.... tak se mi pro kazdeho uzivatele provede SELECT s jeho misto_id do 
tab. MISTO. A TO JE STRASNE POMALE!

je to obdoba lazy vazby jako jsou v Hibernate, ale tam se da nastavit hodnota, 
napr. na 2 a pak se dostanu na nazev mista aniz bych delal SELECT....

Nevite jestli to je i u EJB? nobo nevite o nejake cache?

predem dekuji....

Schaumann Jan
________________________ Tel: 737 158 658
E-mail: [EMAIL PROTECTED]
ICQ: 217-356-730

Odpovedet emailem