Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

LINQ para ferramenta Java


LINQ for Java seria ótimo, mas o problema é a integração da linguagem.

Java não tem nada tão conciso quanto expressões lambda, e elas são um dos alicerces do LINQ. Suponho que poderiam coloque o suporte de expressão de consulta em cima do Java normal sem expressões lambda, fazendo com que a expansão crie classes internas anônimas - mas seria bastante hediondo. Você também precisaria de árvores de expressão se quisesse fazer algo como LINQ to SQL.

Exceções verificadas podem atrapalhar, mas teríamos que ver. O equivalente de IQueryable precisaria ter algum tipo de exceção geral verificada - ou possivelmente poderia ser genérico tanto no tipo de elemento quanto no tipo de exceção ...

De qualquer forma, tudo isso é uma tolice - dados os problemas que a comunidade Java está tendo com fechamentos, acho que seria tolice esperar algo como LINQ no próprio Java antes de 2012. Claro, isso não quer dizer não seria possível em uma linguagem "tipo Java". O Groovy já tem alguns aspectos úteis, por exemplo.

Para o lado da biblioteca, o Hibernate já fornece uma versão "não integrada" de muitos recursos do LINQ to SQL. Para LINQ to Objects, você deve consultar a Google Java Collections API - é muito do mesmo tipo de coisa (filtrar, projetar etc). Sem lambdas, é muito mais complicado de usar, é claro - mas ainda é muito, muito útil. (Uso o código do Google Collections o tempo todo no trabalho e odiaria voltar às coleções Java "baunilha".)