org.hibernate.QueryException: could not resolve property
07/12/2008 00:00
0
boas....antes de mais parabéns pelo fórum....

Sou principiante tanto em Grails como em programação, por isso peço a vossa compreensão e ajuda:

recebo este erro e não percebo porquê:
org.hibernate.QueryException: could not resolve property: $campo1 of: Album

estou a tentar fazer um query findAllWhere() em que o utilizador pudesse escolher qual a propriedade da tabela Album em que quer pesquisar, e queria que os dois campos do query viessem de um form. O meu código é o seguinte:

def campo1 = params.selectfield
def campo2 = params.textfield

def query = Album.findAllWhere(campo1:campo2)

alguém me pode ajudar????

mais uma vez,
parabéns pelo forum,

cumprimentos de Portugal
Tags: Grails


0
Ola

a sintaxe correta é :

def books = Book.findAllWhere(author:"Stephen King", title:"The Stand")


no que vc está colocando :

def query = Album.findAllWhere(campo1:campo2)

, no lugar de campo1, coloque no nome da tabela.

Herrera

ps. veja a documentacao do grails :
<!-- m --><a class="postlink" href="http://grails.org/doc/1.0.x/ref/Domain%20Classes/findAllWhere.html">http://grails.org/doc/1.0.x/ref/Domain% ... Where.html</a><!-- m -->
07/12/2008 00:00


0
pois, no meu caso a syntax correcta seria:

def query = Album.findAllWhere(titulo:&quot;titulo_do_album&quot;)

Mas eu estou recebendo os campos de pesquisa através de um form.
Esta é a minha calss de Album:

class Album {

String titulo
String artista
String ano
String editora
String genero
}

e eu peço ao utilizador para introduzir os campos de pequisa:
primeiro o campo1 através de um select :titulo, artista, ano,.....
e depois para introduzir o valor da pesquisa (campo2)

depois tenho que ir buscar os campos introduzidos:

def campo1 = params.selectfield
def campo2 = params.textfield

mas ao fazer o query recebo sempre este erro.

def query = Album.findAllWhere(campo1:campo2)


cumprimentos,
obrigado
07/12/2008 00:00


0
Acho que dessa forma que vc quer utilizar (campos dinamicos) não funciona. Dê uma olhada no Searchable Plugin (<!-- m --><a class="postlink" href="http://grails.org/Searchable+Plugin">http://grails.org/Searchable+Plugin</a><!-- m -->), senao acho que o jeito é colocar uma cadeia de if's mesmo.

Herrera
07/12/2008 00:00


0
pois, resolvi dessa maneira o problema (com uma cadeia de ifs)...
queria fugir a utilizar o plugin, pois apenas o iria usar para este query.....

mas parece ser bem interessante....

cumprimentos,
obrigado
07/12/2008 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto