Grails com SQL
18/10/2010 00:00
0
Bom dia Pessoal.

Alguem ja utilizou grails sem as facilidades dos comandos de CRUD, que ele nos prove, no caso utilizando SQL?
Pelo que pesquisei, tem diversas formas de se trabalhar com ele utilizando SQL, uma das mais faceis que verifiquei seria utilizando os
comandos executeQuery e executeUpdate que pode ser obtido pela propria domain class.

Alguem tem alguns exemplos?

Um Abraço!
Tags: Tópicos avançados


0
Oi Juliano,

o CRUD que o Grails gera é sempre baseado no GORM que, por sua vez, é uma abstração do Hibernate. Sendo assim, por padrão, qualquer CRUD gerado pelo Grails será direcionado a este ORM.

Se você quiser usar o SQL direto, bypassando assim o GORM, eu só vejo duas possibilidades.

* Você pode usar o iBatis, que é um framework de persistência orientado a SQL, e que inclusive possui um plugin para Grails: <!-- m --><a class="postlink" href="http://www.grails.org/plugin/ibatis">http://www.grails.org/plugin/ibatis</a><!-- m -->

* Usar os recursos nativos do próprio Java via JDBC, como faria normalmente ou as facilidades presentes no Groovy (da uma olhada neste link: <!-- m --><a class="postlink" href="http://groovy.codehaus.org/Database+features">http://groovy.codehaus.org/Database+features</a><!-- m -->)


0
E não é que por acaso topei com um post no qual há um exemplo bem bacaninha sobre como trabalhar com SQL e Groovy?

<!-- m --><a class="postlink" href="http://cleancode.se/2010/10/14/code-abstractions.html">http://cleancode.se/2010/10/14/code-abstractions.html</a><!-- m -->


0
Certo Henrique,

no meu caso seria intenção utilizar JDBC, então:

def clientes = sql.rows(&quot;select * from Cliente&quot;)

não deveria me retornar uma lista de clientes?

Um Abraço!
18/10/2010 00:00


0
Oi Juliano,

neste caso, não, porque você vai estar obtendo apenas os registros do banco de dados. Quem faz o mapeamento entre os registros do banco de dados e as classes de domínio é o ORM que, no caso do Grails, é o GORM.

A alternativa mais próxima para o que você quer neste caso seria o iBatis mesmo.


0
Certo neste caso eu deveria realizar a consulta e pegar campo a campo,
atribuindo ao meu objeto e após isso adicionar este a lista?
paracido com um ResultSet do java?

Não teria como eu fazer um tipo de cast deste meu resultado para o meu tipo especifico?

Um Abraço!
18/10/2010 00:00


0
Juliano,

neste caso, é campo a campo mesmo. A não ser que você use o iBatis, que, das soluções que vi, é a mais próxima do que você quer.


0
Certo Henrique,
Obrigado mais uma vez.
Estes tempos, lendo seu post, la dizia que você trabalhava com grails, sem persistencia automatica, em alguns projetos.
No caso você desativa o hibernate?

Estou tentando trabalhar com jdbc puro, mas em dados momentos o hibernate me atrapalha um pouco, como você fez para desativa-lo totalmente?

Outra duvida seria quanto as camadas, você cria uma camada de Dao para persistir os objetos no banco?

Um Abraço!
18/10/2010 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