sql >> Database >  >> RDS >> Mysql

LINQ voor Java-tool

LINQ voor Java zou mooi zijn, maar het probleem is de taalintegratie.

Java heeft niets zo beknopt als lambda-expressies, en ze zijn een van de fundamenten van LINQ. Ik veronderstel dat ze kunnen leg de ondersteuning voor query-expressies bovenop normale Java zonder lambda-expressies, door de uitbreiding anonieme interne klassen te laten maken - maar het zou behoorlijk afschuwelijk zijn. Je hebt ook expressiestructuren nodig als je iets als LINQ naar SQL wilt doen.

Aangevinkte uitzonderingen mogelijk in de weg staan, maar we moeten het zien. Het equivalent van IQueryable zou een soort van algemeen gecontroleerde uitzondering moeten hebben - of mogelijk zou het generiek kunnen zijn in zowel het elementtype als het uitzonderingstype...

Hoe dan ook, dit is allemaal pie-in-the-sky - gezien de problemen die de Java-gemeenschap heeft met sluitingen, denk ik dat het dwaasheid zou zijn om iets als LINQ in Java zelf eerder dan ongeveer 2012 te verwachten. Dat wil natuurlijk niet zeggen het zou niet mogelijk zijn in een "Java-achtige" taal. Groovy heeft bijvoorbeeld al bepaalde nuttige aspecten.

Voor de bibliotheekkant biedt Hibernate al een "niet-geïntegreerde" versie van veel van de functies van LINQ to SQL. Voor LINQ to Objects moet je kijken naar de Google Java Collections API - het is veel van hetzelfde (filteren, projecteren enz.). Zonder lambda's is het natuurlijk een stuk lastiger om te gebruiken, maar het is nog steeds erg handig. (Ik gebruik de Google Collections-code de hele tijd op het werk en ik zou niet graag teruggaan naar de "vanilla" Java-verzamelingen.)



  1. Een groot probleem:SQL Server 2016 Service Pack 1

  2. ORA-12728:ongeldig bereik in reguliere expressie

  3. IntegrityError dubbele sleutelwaarde schendt unieke beperking - django/postgres

  4. Snel een Select Query schrijven in SQL Server - SQL Server / TSQL-zelfstudie, deel 108