| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 07:31:30
|
eduveks
Virtual Machine Man
![[Avatar]](/images/avatar/bce9abf229ffd7e570818476ee5d7dde.jpg)
Membro desde: 19/04/2005 07:45:40
Mensagens: 674
Localização: Lisboa - Portugal
Offline
|
http://www.h2database.com/html/frame.html?jaqu.html&main
What is JaQu
JaQu stands for Java Query and allows to access databases using pure Java. JaQu replaces SQL, JDBC, and O/R frameworks such as Hibernate. JaQu is something like LINQ for Java (LINQ stands for "language integrated query" and is a Microsoft .NET technology). The following JaQu code:
Advantages
Unlike to SQL, JaQu can be easily integrated in Java applications. Because JaQu is pure Java, Javadoc and auto-complete are supported. Type checking is performed by the compiler. JaQu fully protects against SQL injection.
Why in Java?
Most people use Java in their application. Mixing Java and another language (for example Scala or Groovy) in the same application is complicated. It would be required to split the code to access the database and the application code.
Current State
JaQu is not yet stable, and not part of the h2.jar file. However the source code is included in H2, under:
* src/test/org/h2/test/jaqu/* (samples and tests)
* src/tools/org/h2/jaqu/* (framework)
Requirements
JaQu requires Java 1.5. Annotations are not need. Currently, JaQu is only tested with the H2 database engine, however in theory it should work with any database that supports the JDBC API.
|
http://www.cajuscript.org
http://eduveks.blogspot.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 08:28:15
|
paulofafism
JavaChild
![[Avatar]](/images/avatar/d26b10ca0de48de1619fcefc39d00d64.jpg)
Membro desde: 02/05/2006 15:30:50
Mensagens: 124
Offline
|
O framework parece ser legal, Mas parece que ele faz o que o hibernate ja faz
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 08:38:16
|
TangZero
JavaGuru
![[Avatar]](/images/avatar/4f734c273514a8b004aa22f37189f8c6.png)
Membro desde: 23/01/2007 16:00:46
Mensagens: 257
Localização: São Paulo
Offline
|
Isso não passa de uma DSL.
Na Mundo Java de mês, saiu uma matéria explicando a técnica utilizada por essf framework, de encadear chamadas de método.
Não creio que seja revolução. Ainda prefiro seguir a especificação do JPA, e, em alguns casos, usar o JDBC Templates do Spring.
|
TangZero
SCJP 6 e SCWCD 5
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 08:39:56
|
eduveks
Virtual Machine Man
![[Avatar]](/images/avatar/bce9abf229ffd7e570818476ee5d7dde.jpg)
Membro desde: 19/04/2005 07:45:40
Mensagens: 674
Localização: Lisboa - Portugal
Offline
|
Sim, só que bem mais simples ao estilo Linq. Também nada impede de usar o Hibernate e o JaQu juntos, para fazer as querys o JaQu pode ser mais intuitivo e simples. Mais a respeito: http://sustainablesoftware.wordpress.com/2008/07/31/jaqu-another-lightweight-sql-interface-for-java/
This message was edited 2 times. Last update was at 01/08/2008 08:41:15
|
http://www.cajuscript.org
http://eduveks.blogspot.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 08:56:45
|
David
JavaEvangelist
![[Avatar]](/images/avatar/77431ca7981f1f1483ae8a58bcbb6e0e.jpg)
Membro desde: 18/03/2005 13:10:33
Mensagens: 440
Localização: Natal/RN
Offline
|
Uma DSL? Não seria só uma interface fluente não? Eu ACHO que não podemos chamar isso de DSL...
Edit:
Bem.. Acho que pode sim.. http://fragmental.tw/research-on-dsls/language-oriented-programming-lop/language-adaption/
Shoes, qualquer uso de fluent interface pode ser considerado DSL? Quando seria possível e quando não?
This message was edited 2 times. Last update was at 01/08/2008 09:07:06
|
David Pereira
Engenheiro de Computação - UFRN
Mestre em Engenharia Elétrica
Doutorando em Engenharia Elétrica |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 09:19:00
|
TangZero
JavaGuru
![[Avatar]](/images/avatar/4f734c273514a8b004aa22f37189f8c6.png)
Membro desde: 23/01/2007 16:00:46
Mensagens: 257
Localização: São Paulo
Offline
|
Não sou dos mais entedidos disso, mas uma DSL interna pode ser considerada por muitos, uma interface fluente. Acho que esses conceitos não são tão fáceis de se distinguir. Eu mesmo as vezes me pergunto qual é a diferença....
|
TangZero
SCJP 6 e SCWCD 5
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 09:21:10
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 2185
Offline
|
Hunm... nada haver o que eu falei
This message was edited 1 time. Last update was at 01/08/2008 09:25:31
|
http://peczenyj.blogspot.com/
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 13:03:48
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 3953
Localização: São Paulo
Offline
|
Isso tá anos luz de fazer aquilo que o LINQ permite. Cade expression trees? Cade extension methods?
Isso é uma fluent API meia boca p/ acessar banco de dados. LINQ é muito mais que isso.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 13:13:29
|
eduveks
Virtual Machine Man
![[Avatar]](/images/avatar/bce9abf229ffd7e570818476ee5d7dde.jpg)
Membro desde: 19/04/2005 07:45:40
Mensagens: 674
Localização: Lisboa - Portugal
Offline
|
Claro q LINQ é muito mais q isto... mas pelo menos é melhor q nada, e é verdade eu me contento com pouco
|
http://www.cajuscript.org
http://eduveks.blogspot.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 14:35:03
|
Rodrigo.Lima
JavaBaby
Membro desde: 14/07/2006 09:45:21
Mensagens: 93
Offline
|
louds wrote:Isso tá anos luz de fazer aquilo que o LINQ permite. Cade expression trees? Cade extension methods?
Isso é uma fluent API meia boca p/ acessar banco de dados. LINQ é muito mais que isso.
Isso que é saber dar uma força.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 14:58:15
|
TangZero
JavaGuru
![[Avatar]](/images/avatar/4f734c273514a8b004aa22f37189f8c6.png)
Membro desde: 23/01/2007 16:00:46
Mensagens: 257
Localização: São Paulo
Offline
|
Os desenvolvedores do projeto dizem que o Framework nem foi testado com outros Bancos de Dados, somente com o deles.
Poxa, não sei se utilizaria esse cara, nem que fosse para testes. Nem eles mesmos se dão ao trabalhar de testar o treco...
Tudo bem que a idéia é "funfar" com o JDBC em si, mas sabemos como cada banco tem suas peculiaridades!
|
TangZero
SCJP 6 e SCWCD 5
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 15:13:31
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 3953
Localização: São Paulo
Offline
|
Rodrigo.Lima wrote:
louds wrote:Isso tá anos luz de fazer aquilo que o LINQ permite. Cade expression trees? Cade extension methods?
Isso é uma fluent API meia boca p/ acessar banco de dados. LINQ é muito mais que isso.
Isso que é saber dar uma força. 
A questão é que o LINQ for SQL é o recurso menos interessante de todos.
O grande valor tá em coisas como LINQ for objects, PLINQ (Parallel LINQ), expression trees e todo plumbind por traz
que permite escrever coisas como LINQ for NHibernate de maneira razoavelmente fácil.
Acho incrível como a comunidade Java é em geral incapaz de ver além do LINQ for SQL.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 15:16:26
|
Rubem Azenha
Forum Spammer
![[Avatar]](/images/avatar/cb953f6ca5923f7517125db46ed1293d.png)
Membro desde: 28/06/2004 00:10:43
Mensagens: 1568
Localização: São Paulo, SP
Offline
|
louds, a comunidade .NET em geral também não enxerga muito mais longe do que a comunidade Java no que diz respeito ao LINQ...
|
http://razenha.wordpress.com/
Melhorando significativamente a performance de aplicações web sem gastar tanto |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 15:48:11
|
Rodrigo.Lima
JavaBaby
Membro desde: 14/07/2006 09:45:21
Mensagens: 93
Offline
|
louds wrote:
Rodrigo.Lima wrote:
louds wrote:Isso tá anos luz de fazer aquilo que o LINQ permite. Cade expression trees? Cade extension methods?
Isso é uma fluent API meia boca p/ acessar banco de dados. LINQ é muito mais que isso.
Isso que é saber dar uma força. 
A questão é que o LINQ for SQL é o recurso menos interessante de todos.
O grande valor tá em coisas como LINQ for objects, PLINQ (Parallel LINQ), expression trees e todo plumbind por traz
que permite escrever coisas como LINQ for NHibernate de maneira razoavelmente fácil.
Acho incrível como a comunidade Java é em geral incapaz de ver além do LINQ for SQL.
Concordo contigo, a microsoft está copiando e melhorando várias coisas do java, já está na hora de ter uma coisa parecida com LINQ em java mesmo.
O legal mesmo vai ser o linq to entities, uma especie de hibernate e linq juntos.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 16:05:30
|
windsofhell
Virtual Machine Man
Membro desde: 15/06/2007 08:31:17
Mensagens: 713
Offline
|
Nao sou de defender microsoft ( mesmo trabalhando com C# ) mas isso precisa de muito feijao com arroz pra fazer 1% do que o LINQ faz hehehe
//Daniel
|
|
|
 |
|
|