Después de haber jugado con Linq (para SQL y Objetos) así como Entity Framework de Microsoft recientemente, me preguntaba qué son los equivalentes no-net (específicamente Java)?¿Cuáles son los equivalentes de Java para Linq y Entity Framework
Respuesta
Java no tiene un equivalente de Linq. Sin embargo, Scala, un lenguaje funcional que compila código de bytes Java, tiene algo que cerrar: una sintaxis de bucle extendido.
Hay un proyecto de Java llamado JoSQL que proporciona capacidades de consulta de objetos con una sintaxis similar a SQL.
Si bien no lo he usado yo mismo, sé que se usa en algunas aplicaciones de peso pesado.
Esto se ve bastante interesante. No es una herramienta de base de datos, sino una forma de usar SQL para operar en objetos Java (como LINQ to Objects). –
Para trabajos pesados en la base de datos, SQLJ podría ser una opción. La desventaja es que no es pura Java y requiere un preprocesador.
considerar el uso de Querydsl: http://www.querydsl.com
Es compatible con JPA/Hibernate, JDO, SQL y Colecciones.
Querydsl es totalmente seguro, admite autocompletar en IDEs y proporciona una sintaxis de consulta común en los principales backends.
Soy el mantenedor de Querydsl, y escribí un comparison to other frameworks hace algún tiempo.
Se ligeramente sesgado, pero muestra el diferente énfasis
- tipos estáticos o no
- que backends son compatibles
- es la interfaz para conexión en cascada construcción consulta o no
reciente los marcos experimentan también con sintaxis de cierre.
No existe una alternativa exacta que sea universal como LINQ. Sin embargo, si hablamos de LINQ to SQL, entonces JPA es realmente una alternativa cuando lo utiliza con un IDE que admite la función "Inject language". P.ej. IDEA realizará la finalización completa de la consulta JPA dentro de una cadena
No encontrará un equivalente de LINQ a menos que use el javacc para crear su propio equivalente.
Hasta ese día cuando alguien encuentra un camino viable para hacerlo, hay algunas buenas alternativas, tales como
Para LINQ (LINQ a objetos para ser más exactos) se puede utilizar a partir de corrientes de Java 8
Esto no funciona para bases de datos sin embargo, sólo para objetos internos como las colecciones y listas
Es realmente potente, pero no tan completa como LINQ (en mi opinión)
salida este tutorial - http://www.oracle.com/technetwork/articles/java/ma14-java-se-8-streams-2177646.html
en cuanto a Entity Framework no hay nada tan poderoso que he encontrado todavía, pero no lo he probado todo el soluciones proporcionan d en las otras respuestas
- 1. ¿Cuáles son sus pensamientos sobre Entity Framework 4.0?
- 2. ¿Cuáles son algunas buenas alternativas de Entity Framework?
- 3. son estas dos expresiones linq funcionalmente equivalentes?
- 4. LINQ Include vs Join. ¿Son equivalentes?
- 5. ¿Cuáles son los equivalentes C# de getClass() de Java, isAssignableFrom(), etc.?
- 6. Los equivalentes de Java de Func y Acción
- 7. ¿Cuáles son los equivalentes de R al mapa y grep de Perl?
- 8. ¿Cuáles son los equivalentes de Python para el paquete de Ruby/el cartón de Perl?
- 9. ¿Cuáles son los beneficios de Java?
- 10. Entity Framework + LINQ + "Contiene" == Súper lento?
- 11. Linq to SQL and Entity Framework Diffrences?
- 12. ¿Son NULOS y cero equivalentes?
- 13. ¿Son compatibles los sinónimos de Oracle en Entity Framework?
- 14. LINQ o ADO.net Entity Framework: ¿qué aprender?
- 15. ¿Cuáles son los buenos marcos de acoplamiento para Java/Swing?
- 16. Entity Framework vs Linq to Entities vs Linq to SQL
- 17. ¿Cuáles son algunos de los usos inteligentes de LINQ?
- 18. ¿Cuáles son los mejores recursos para aprender WPF y .NET?
- 19. ¿Cuáles son algunos usos interesantes para los agentes de Java?
- 20. ¿Cuáles son los contenedores en Java
- 21. Entity Framework 4.1 Linq contiene y comienza con
- 22. Optimizar llamada LINQ Any() en Entity Framework
- 23. GAE y Django: ¿Cuáles son los beneficios?
- 24. Entity Framework/Linq to SQL: Omitir y tomar
- 25. Entity Framework y Connection Pooling
- 26. Entity Framework y multihilo
- 27. Linq to Sql vs Entity Framework Performance
- 28. ¿Los métodos hide y slideUp de jQuery son equivalentes?
- 29. Cómo enlazar gridview usando linq/Entity Framework?
- 30. SqlBulkCopy y Entity Framework
Para objetos Linq ver este: github.com/nicholas22/jpropel-light, ejemplo real: new String [] {"james", "john", "john", "eddie"} .where (startsWith ("j")). toList(). distinct(); –