jOOQ stands for Java Object Oriented Querying. It combines these essential features: Code Generation: jOOQ generates a simple Java representation of your database schema. Every table, view, stored procedure, enum, UDT is a class. Active records: jOOQ implements an easy-to-use active record pattern. It is NOT an OR-mapper, but provides a 1:1 mapping between tables/views and classes. Between columns and members. Typesafe SQL: jOOQ allows for writing compile-time typesafe querying using its built-in fluent API. SQL standard: jOOQ supports all standard SQL language features including the more complex UNION\'s, nested SELECTs, joins, aliasing Vendor-specific feature support: jOOQ encourages the use of vendor-specific extensions such as stored procedures, UDT\'s and ARRAY\'s, recursive queries, and many more.