Model-based query language

A well designed database API asks for a comfortable and powerful query language. OOMEGA has not only designed a query language. It's more than that! It is a metamodel.

The model-based query language consists of

  • a query metamodel (= abstract syntax) and
  • an elegant integration into the Java world (= concrete syntax).

In contrast to other object-oriented query languages on the market, OOMEGA allows for navigation beyond collection-valued path expressions. Moreover OOMEGA does not only support predicates, i.e. the FROM and WHERE clauses, but also handles SELECT, GROUP BY, HAVING and ORDER BY statements. Please have a look at the following example query and notice the set comparison:

Query query = Query(
   select(Person.F.firstname()),
   distinct(true),
   from(Person.CID),
   where(
      eq(
         Person.F.children().firstname(),
         Set("Christian", "Stefano")
      )
   )
);

The shown statement can be send to the database with a simple method call.

eocSession.execute( query );
>> Show next feature
>> Back to the feature list