Abstract
Masteroppgaven presenterer ulike verktøy for Object/Relational mapping og deres spørreteknikker. Videre presenteres en prototype for et nytt spørre-API, kalt Fluenty. I løpet av implementeringen av Fluenty har det blitt indentifisert ulike mønstre og teknikker som er hensiktsmessige ved implementering av DSL-lignende API-er i Java. Disse blir presentert og diskutert. Fluenty blir så evaluert i forhold til et utvalg av ORM-verktøyenes spørreteknikker.
Several tools for Object Relational Mapping (ORM) have been developed in an attempt to alleviate the mismatch between object oriented programming languages and relational databases. Queries in such tools is written either with a textbased query language or as program code with an API. With a textbased language, features like tool support, compiletime syntax checking and type safety is absent. Such features is to some extent usually available when using an API, but it often results in complex code and poor readability.
This master thesis presents different ORM-tools and their query writing techniques, before it presents a proof-of-concept prototype of a new query API, Fluenty. When implementing Fluenty, we have identified general patterns and techniques suitable when implementing fluent, DSL-like APIs in Java. These findings are presented and discussed. Finally, Fluenty is evaluated against a range of query writing techniques provided by other tools.