Gå til innhold

Trenger hjelp med en NamedQuery


Anbefalte innlegg

Hei.

 

Prøver å sette opp en NamedQuery som skal gi en søkefunksjon i en database. Slik jeg har det nå må jeg søke på hele navnet, for å få resultat.

 

Tenkte jeg kunne sette det opp slik:

 

@NamedQuery(

name="User.byFullname",

query="SELECT k FROM User k WHERE k.fullname LIKE :%"

),

 

Men % blir ikke godtatt når jeg prøver å "deplyoe".

 

Noen som har noen forslag til hvordan select-setningen kan skrives?

 

(beklager hvis det er litt rart spm)

 

Takker for svar.

Lenke til kommentar
Videoannonse
Annonse

Du må vel ha enkle anførselstegn rundt strengen som kommer etter LIKE. Altså

SELECT k FROM User k WHERE k.fullname LIKE 'foo%bar'

I tillegg lurer jeg på hvorfor du har et kolon der? Kolon brukes som prefiks for navngitte parametere.

 

Overse det over.. gav ikke mye mening.

 

@NamedQuery(
name="User.byFullname",
query="SELECT k FROM User k WHERE k.fullname LIKE :nameparam"
)

 

..og så, der du skal kjøre spørringa, kan du bruke noe ala dette:

 

EntityManager.createNamedQuery("User.byFullname").setParameter("nameparam", "%" + someName + "%").getResultList()

Endret av Edorph
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...