|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2006
Città: Vergiate (VA)
Messaggi: 4315
|
[JAVA EE] PROBLEMA QUERY EJBQL
Ciao ho un problema con una query in ejbql...allora ho un'entità Corso che ha un arraylist di Studente che sono gli iscritti al corso...dato uno studente,devo estarre tutti i corsi nei queli lo studente non è iscritto...io ho fatto così:
Codice:
Query q = manager.createQuery("SELECT c FROM Corso c JOIN c.iscritti i WHERE i<>?1 ");
q.setParameter(1, s);
avevo provato anche con Codice:
Query q = manager.createQuery("SELECT c FROM Corso c WHERE NOT EXISTS(SELECT c1 FROM Corso c1 JOIN c1.iscritti i WHERE i=?1) ");
q.setParameter(1, s);
__________________
HAF 922-RYZEN 5 3600+NOCTUA U12S-ANTEC HCG 520W-MSI B550 GAMING PLUS-2X8GB HYPERX FURY RGB-SAPPHIRE RX580 NITRO+ 4GB- ADATA XPG SX8200 Pro 512GB + -CRUCIAL M4 64GB+SAMSUNG 860EVO 256GB+840EVO 128GB+MAXTOR 320GB-CM MK750 CHERRY RED+CMSTORM SENTINEL 3+RAZER VESPULA-AOC 24G2U & SAMSUNG 223BW |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2006
Città: Vergiate (VA)
Messaggi: 4315
|
nessuno?
__________________
HAF 922-RYZEN 5 3600+NOCTUA U12S-ANTEC HCG 520W-MSI B550 GAMING PLUS-2X8GB HYPERX FURY RGB-SAPPHIRE RX580 NITRO+ 4GB- ADATA XPG SX8200 Pro 512GB + -CRUCIAL M4 64GB+SAMSUNG 860EVO 256GB+840EVO 128GB+MAXTOR 320GB-CM MK750 CHERRY RED+CMSTORM SENTINEL 3+RAZER VESPULA-AOC 24G2U & SAMSUNG 223BW |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: May 2009
Messaggi: 129
|
EDIT: OPS...Non avevo letto bene la domanda che avevi posto. La risposta che ho dato purtroppo non risponde al tuo questito. La prima cosa che mi viene in mente,evitando sql (la tua query mi sembra esatta tra l'altro), è di:
1. recuperare tutti i corsi disponibili 2. per ogni corso controllare se lo studente è iscritto Mi rendo conto però che una query sql possa essere piu prestazionale rispetto alle operazioni java su mensionate. Quote:
Ultima modifica di javacomelava : 21-01-2011 alle 12:03. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:33.



















