LINQ for Java: Quaere

Publisert: 17.09.2007 Av: Knut-Olav Traa

NNUGs egen Anders Norås lanserte open source-prosjektet Quaere på JavaZone i forrige uke. Quaere er en implementasjon av LINQ (Language INtegrated Query) for Java. Som LINQ vil også Quaere være et generelt spørrespråk som skal kunne brukes mot datalagre som relasjonsdatabaser og xml.

Foreløpig er LINQ noe mer elegant pga bedre språkstøtte i C#. Men dette blir etter sigende bedre i de neste versjonene av java.

Eksempel:
Følgende spørring velger ut alle par av numre fra to arrayer slik at nummeret fra numbersA er mindre enn nummeret fra numbersB.

Java/Quaere:

Integer[] numbersA = {0, 2, 4, 5, 6, 8, 9};
Integer[] numbersB = {1, 3, 5, 7, 8};
Iterable<Variant> pairs =
    from("a").in(numbersA).
    from("b").in(numbersB).
    where(lt("a", "b")).
    select(
        create(
            property("a"),
            property("b")
        )
    );

C# 3.0/LINQ:

int[] numbersA = {0, 2, 4, 5, 6, 8, 9};
int[] numbersB = {1, 3, 5, 7, 8};
var query =
   from a in numbersA
   from b in numbersB
   where a < b
   select a,b;



Mer info:
http://andersnoras.com/blogs/anoras/archive/2007/09/11/introducing-quaere-language-integrated-queryies-for-java.aspx

Copyright (C) 2006 Norwegian .NET User Group
  Powered by EPiServer