Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    18

    [JPA] Eclipselink - NamedQuery e NOT IN

    Cercando un pò su google avevo trovato che era possibile effettuare una query utilizzando l'operatore NOT IN creando una namedquery ddel tipo:

    codice:
    @NamedQuery(name= "TEST", query="SELECT u FROM Utente u WHERE u.id NOT IN (:lista_utenti)")
    e poi da un sesionbean:

    codice:
    Query q=...
    q.setParameter("lista_utenti",list);
    ...
    dove list è una List<Integer>


    Solo che quando eseguo la query questo è il risultato:

    codice:
    java.lang.IllegalArgumentException: You have attempted to set a value of type class java.util.List for parameter lista_utenti with expected type of class java.lang.Integer from query string SELECT u FROM Utente u WHERE u.id NOT IN (:lista_utenti).

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Prova a togliere le parentesi dalla query per la clausola NOT IN:

    codice:
    @NamedQuery(name= "TEST", query="SELECT u FROM Utente u WHERE u.id NOT IN :lista_utenti")
    Questo dovrebbe funzionare in JPA 2 con EclipseLink. Credo le parentesi siano necessarie per Hibernate.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    18
    PERFETTO Grazie è andato!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.