Newsgroup: it.comp.java
Titolo: Aiuto su JOIN con Hibernate 3

Ciao a tutti,
da poco sono entrato nel mondo di Hibernate. Ho sviluppato ed eseguito
con successo la mia prima applicazione utilizzando Hibernate 3
Al momento sto seguendo le Reference Guide più qualche altra risorsa
in rete per quanto riguarda il mio apprendimento.
Sto, però, scontrandomi con le JOIN.
Ho mappato in due distinte classi due tabelle del mio DB. Tali
tabelle, che chiamerò A e B, dispongono rispettivamente di una chiave
composta da 3 colonne e da un chiave composta da 4 colonne
La relazione tra A e B è di uno a molti.
Per la dichiarazione della chiave, in ciascun file .hbm.xml, ho
utilizzato il tag <composite-id>
Riesco ad effettuare le query solo su una tabella per volta, ma non ho
capito come comportarmi nel caso di JOIN. Ho cercato dei codici di
esempio in rete, ma finora non ho avuto successo.
Se è possibile, vi sarei grato se poteste inviarmi il codice che
descrive tale caratteristica oppure indicarmi un esempio completo
presente in rete.
Grazie anticipatamento per il tempo che vorrete dedicarmi

 Grazie anticipatamento per il tempo che vorrete dedicarmi
Con hibernate il join e' quasi opzionale, per non dire inutile.
Prendi la tabella N e fai la query su quella, la tabella 1 poi la raggiungi
con il punto
che fa il join implicito
Puo' servire il join se hai ad esempio molti filtri su una tabella da
raggiungere col punto
anche se credo che sia solo estetico e a livello prestazionale se usi tante
volte il punto o una volta sola non cambia nulla
Interesserebbe anche a me se qualcuno mi portasse degli esempi certi in cui
il join e' davvero utile a livello di aumento di potenza o anche solo
prestazionale
ciao Nicola
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 che fa il join implicito
scusami, potresti spiegarmi meglio questo punto?
Grazie anticipatamente

Curò ha scritto:

Facciamo un esempio
prendiamo 2 entita'
Casa - Finestra 
casa e' 1, finestra N
e ti fai la mappatura N-1 che sara'
una campo di tipo Casa nella tabella Finestra
Se devi fare una query in cui lavora su dati sia di casa che di finstra
fai sempre la query sulla parte N, qiundi su finestra, e da li raggiungi la
parte 1, cioe' la casa
esempio
mi da tutte le finestre delle case di Nicola che sono di ferro o di legno
select f.larghezza, f.materiale, 
f.id
, f.casa.indirizzo, f.casa.numeropiani
from   Finestra f
where  (f.materiale = 'ferro' or f.materiale = 'legno') 
  and  f.casa.propietario = 'Nicola'
come vedi ho raggiunto la parte 1 casa sia nella select che nella where
tramite il punto senza joinare esplicitamente
La cosa e' iterabile a qualsiasi livello di profondita'
La join potrebbe essere utile se hai un db complesso e stai facendo una query
a profondita' alta ed e' una sega usare TROPPO il punto, ma e' cosmetico.
Fatte cosi' le query e' anche molto ma molto piu' facile scriverle (
ovviamente secondo me ) e difficile sbagliarle
P.S. ripeto che se mi date un esempio in cui con la join si fa qualcosa in
piu' rispetto al punto ( oppure che sia dimostrato che aumenta le prestazioni
) mi fate un favore che e' tanto tempo che ci rifletto 
ciao ciao 
Nicola
-- 

 ovviamente secondo me ) e difficile sbagliarle
sono d'accordissimo circa il modo di intedere la query. Volevo proprio
fare così. Il mio è un discorso più a basso livello: come devo
configurare i file .hbm.xml di ciascuna entità?

configurare i file .hbm.xml di ciascuna entit=E0?
Scusa ma allora non capisco la domanda, mi pareva che volessi discutere di
join  ,  inner , outer e problematiche di questo tipo
ciao NIcola
-- 


Si, indubbiamente era questo il topic del post, ma avrei bisogno di
qualche informazione di tipo tecnico relativa alla configurazione dei
file xml
Grazie ancora