Ayant récemment joué avec Linq (SQL et Objets) ainsi qu'avec Entity Framework de Microsoft, je me demandais quels sont les équivalents non.Net (en particulier Java)?
Pensez à utiliser Querydsl: http://www.querydsl.com
Il supporte JPA/Hibernate, JDO, SQL et Collections.
Querydsl est totalement sûr pour le type, prend en charge la saisie semi-automatique dans les IDE et fournit une syntaxe de requête commune sur les principaux backends.
Je suis le mainteneur de Querydsl, et j’ai écrit une comparaison à d’autres frameworks il ya quelque temps.
Il est légèrement biaisé, mais montre l'accent différent
Les nouveaux cadres expérimentent également la syntaxe de fermeture.
Il existe un projet Java appelé JoSQL qui fournit des fonctionnalités de requête d’objet avec une syntaxe semblable à celle de SQL.
Bien que je ne l'utilise pas moi-même, je sais qu'il est utilisé dans certaines applications de poids lourd.
Java n'a pas d'équivalent Linq. Cependant, Scala, un langage fonctionnel qui compile en code octet Java, a quelque chose de fermé: une syntaxe de boucle for étendue.
Pour que LINQ (LINQ to Objects soit plus précis), vous pouvez utiliser des flux à partir de Java 8.
Cela ne fonctionne pas pour les bases de données, mais uniquement pour les objets internes tels que Collections et Listes.
C'est vraiment puissant, mais pas aussi complet que LINQ (à mon avis)
Découvrez ce tutoriel - http://www.Oracle.com/technetwork/articles/Java/ma14-Java-se-8-streams-2177646.html
En ce qui concerne Entity Framework, rien n’a été aussi puissant que ce que j’ai encore trouvé, mais je n’ai pas essayé toutes les solutions fournies dans les autres réponses
Regardez JaQue .
Pour les travaux exigeant une base de données importante, SQLJ peut être une option. L'inconvénient est que ce n'est pas du pur Java et qu'il nécessite un pré-processeur.
Vous ne trouverez un équivalent de LINQ que si vous utilisez le javacc pour créer votre propre équivalent.
Jusqu'au jour où quelqu'un trouvera un moyen viable de le faire, il existe de bonnes solutions de rechange, telles que
Il n’existe pas d’alternative exacte aussi universelle que LINQ. Cependant, si nous parlons de LINQ to SQL, JPA est vraiment une alternative lorsque vous l’utilisez avec un IDE qui prend en charge la fonctionnalité "Inject language". Par exemple. IDEA complétera complètement la requête JPA dans une chaîne