Zacatecnicky dotaz jak dostat do JPQL inner join on...

Petr Fejfar petr.fejfar na seznam.cz
Pondělí Září 21 17:26:55 CEST 2009


Dne Mon, 21 Sep 2009 17:11:15 +0200 Rastislav Siekel <siekel na prosoft.sk>  
napsal/-a:


>> Znamena to, ze to bez doplneni stare tabulky
>> o vazbu @ManyToOne nejde?
> Presne tak. (Len pre istotu - nedopĺňaš väzbu do tabuľky, len do jej
> mapovania. Žiadna fyz. väzba tam byť nemusí.)

No tak tomu prestavam rozumet:

  * puvodne jsem mel @OneToMany AppUser.subscription,
    coz fyzicky udelalo join table user_subscription s id zazanmu

  * kdyz jsem doplnil @ManyToOne Subscription.user abych mel
    obousmernou asociaci, tak  mi to fyzicky pridalo foreign key
    do tabulky subscription, i kdyz by nemelo/nemuselo,
    protoze vse potrebne ma v te join table

  * kdyz jsem zkousel vnutit mu tu existujici join table
    jejim specifikovanim pomoci @JoinTable, tak hbm2ddl
    narazil na nejake FK constraints - nevim, co s tou tabulkou
    join table chtel udelat, tak jsem prozatim rezignoval
    a nechal tam ten FK.




>> A proc mi nejde to odzkousene SQL te nenapada?
> To bude asi niečo triviálne - v mapovaní existuje h.id, ale v tom
> SELECT-e nie je v select-liste, alebo niečo podobné.

To je mozne, ale nic takoveho nevidim. Vsude pouzivam kvalifikovane
odkazy s aliasy tabulek a result set mam:

       sql.append("select h.*");



> P.S. Len na okraj - nemaž z mailu pôvodné texty - je to rýchlejšie ako
> pozerať sa do starých mailov, aký vlastne bol pôvodný SQL... :-)


To slysim/ctu poprve - vetsinou se chce, aby se psalo bez nabodenicek
a quotovalo. U toho bych zustal, ale priste tam ten SQL sam znovu
zkopiruju.

Diky, pf



Další informace o konferenci Konference