2015-11-23 7 views
5

ho questo metodo di query JPA:
findByZzzAndXxxOrYyyIn Spring data JPA, come posso impostare le espressioni di proprietà come prioritarie?

che dà dei risultati per:
findBy(ZzzAndXxx)OrYyy // "And" gets higher precedence

Posso ottenere risultati per?
findByZzzAnd(XxxOrYyy) // "Or" gets higher precedence

che posso farlo con altri tipi di query (ad esempio nativo)
ma mi chiedo se ho potuto solo impostare la precedenza con l'aggiunta di sottolineatura o simboli o qualcosa del genere ...

+0

Avete provato con findByXxxOrYyyAndZzz() ? – aksappy

+0

Siamo spiacenti, no ... il risultato è findByXxxOr (YyyAndZzz) –

+0

Vota per questa domanda – Derp

risposta

1

Se ho capito correttamente, dovresti scrivere una query, quindi dovresti assicurarti che qualunque operazione tu voglia eseguire prima, dovrebbe essere inclusa tra parentesi per ottenere il risultato desiderato.

E.g. Ho tabella DEMO con Demo che è la classe di entità con i campi a, b e c. Quindi secondo il vostro requisito, la query sarebbe:

Select * from Demo d dove (da = "some_value" o db = "some_value") e dc = "some_value"

+1

Ciao Gourav, se volessi creare la query in SQL allora sì, sei corretto. ma voglio usare "Spring method query JPA" che permette di scrivere query usando il nome del metodo stesso. è un po 'diverso :) –

Problemi correlati