Problema JPQL e inesperienza
Von: mdema@diesel (emmedema@toglierejdfsfinodghjafsdgquigmail.com) [Profil]
Datum: 19.06.2008 18:10
Message-ID: <g3e0d7$46e$1@tdi.cu.mi.it>
Newsgroup: it.comp.java
Datum: 19.06.2008 18:10
Message-ID: <g3e0d7$46e$1@tdi.cu.mi.it>
Newsgroup: it.comp.java
Salve a tutti.
Come da oggetto, vi scrivo sperando mi possiate dare un poco di
delucidazioni riguardo al JPQL e a come creare una query sintatticamente
corretta (cosa che non riesco ad ottenere).
Prima di tutto, il mio obbiettivo è lavorare con un database MySql a cui
riesco già a connettermi e la cui struttura è la seguente.
Libri(id,titolo,ha_riassunto) (chiave: id)
Autori(id, nome, cognome) (chiave: id)
Libri_autori(libro_id,autore_id)(chiave: libro_id+autore_id)
Semplificando e andando al succo, ciò ke io devo fare è rendere
possibile la ricerca, tramite GUI, a partire dal titolo O dall'autore.
Uso NetBeans 6.1 e il template ha creato Entity Classes che rendano
persistenti le tabelle attraverso il codice, ed in particolari tali
classi sono: Libri, Autori, LibriAutori, LibriAutoriPK.
Per fare una prova, stavo cercando di creare una query che mi
permettesse, per esempio, di trovare tutti i libri di Oscar Wilde e
visualizzare un MessageBox con le informazioni di ognuno.
Sono riuscito a fare funzionare una semplice query come la seguente:
query = emLibrary.createQuery("SELECT book FROM Libri book WHERE
book.titolo like '%Dorian%' ");
listBooks = query.getResultList();
Il problema è che, per esempio, se cerco di fare una ricarca basata
sull'autore, già mi perdo....ho provato varie cose, ma sembra che non
funzioni quando uso LibriAutori come sponda per fare il join:
select book
from Libri book, LibriAutori la, Autori auth
where book.id = la.libro_id and la.autore_id = auth.id and auth.cognome
like '%Wilde%'
oppure, ancora più semplice:
select la
from LibriAutori la
where la.libro_id = 1
Non capisco...
Il problema è che la strutura dello schema non è come penso io??
Ho provato anche, per la precedente query, qualcosa del tipo:
select la
from LibrosAutores la
where la.librosAutoresPK.libros_id = 1
ma niente....
Se qualcuno può darmi una mano, gli sarei molto grato....sono ancora
moooolto alle prime armi!!! :(
Grazie a tutti
Ciao
[ Auf dieses Posting antworten ]
