JOOQ homework - acherm/teaching-MDE1617 GitHub Wiki

JOOQ and SQL

SQL (Structured Query Language, https://en.wikipedia.org/wiki/SQL) is a well-known domain-specific language (DSL).
It can be used as an external DSL with the well-known external notation and specialized tools. JOOQ provides a fluent API that allows developers to write SQL queries in Java.

The goal of this page is to document and investigate some properties of JOOQ. Students at University of Rennes 1 (France) collaboratively edited the page.

We address the following questions

  • Internally, how SQL queries are eventually executed by JOOQ?
  • In addition to writing SQL queries, what is the effort needed for executing SQL queries? (e.g., database setup? configuration file? mapping object/database?)
  • How the fluent API is implemented? (e.g., design patterns)
  • What are the strange syntactical constructs (if any) of JOOQ (in comparison to pure SQL)?
  • What are the typical complains of JOOQ users?
  • Is it possible to translate any SQL query into JOOQ? Is full SQL supported? What subset of SQL is supported?
  • Give executable examples of JOOQ programs and corresponding SQL queries in the JOOQ folder of this repo.