nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

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
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 ]