PDA

View Full Version : [Typed Query Java] Domandona....


soldout
04-12-2014, 16:41
Un saluto a tutti

Allora ho un piccolo Database con una sola tabella: Persona(CF*,nome,cognome) tutti e 3 string

Se ad esempio voglio cercare tutte le persone che si chiamano Mario :



List<Persona> lp=database.createQuery("SELECT DISTINCT p FROM Persona p WHERE p.cognome= :cognome").setParameter("cognome","Mario").getResultList();
//database è l'entitymanager


E non ci sono problemi.
Ma se voglio interrogare il database passando parametri incompleti , è possibile?

Ad esempio cosi:


List<Persona> lp=database.createQuery("SELECT DISTINCT p FROM Persona p WHERE p.cognome= :cognome").setParameter("cognome","**Mari**").getResultList();
//database è l'entitymanager

quegli asterischi indicano lettere che dovrebbero esserci prima o dopo quelle inserite.. è possibile?

BlackAuron
09-12-2014, 21:31
Premessa: non sono un programmatore Java ... ma la query che vuoi probabilmente assomiglia a:


List<Persona> lp=database.createQuery("SELECT DISTINCT p FROM Persona p WHERE p.cognome LIKE '%:cognome%'").setParameter("cognome","Mari").getResultList();


In generale, se vuoi maggiori info riguardo il pattern matching all'interno della query, puoi dare una occhiata qua: http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html