jOOQ effectively combines complex SQL, typesafety, source code generation, active records, stored procedures, UDTs, and Java in a fluent API.
Supported DBs are DB2, HSQLDB, MySQL, Oracle, Derby, Ingres, H2, Postgres, SQLite, SQL Server, Sybase.
How does jOOQ help you?
· Your database always comes FIRST! That's where the real schema is, not in Java code or some XML mapping file, whose syntax you're not familiar with.
· You keep your code DRY.
· You won't suffer from the Object-relational impedance mismatch.
· You won't have syntax errors in your query.
· You won't forget to bind variables correctly. No SQL injection, either.
· You don't need to know your database schema by heart when you develop. The schema is generated in Java. You can use auto-completion in your IDE!
· You don't need to create value objects for your data. Use the generated artifacts instead.
· You have automatic type mapping between SQL data types and Java types.
· You change something in the database? Your Java code won't compile. You don't need to wait until runtime to notice.
· You can forget about JDBC (especially useful when dealing with UDTs, ARRAYs and stored procedures).
· You can port your SQL to a new database. jOOQ will generate SQL that works on any database.
Here are some key features of "jOOQ":
· Object Oriented SQL Modelling
· SQL code generation
· OR-Mapping
· Typesafe SQL
· Stored procedure and UDT support
· ActiveRecords
Requirements:
· Java 1.6 or later
What's New in This Release: [ read full changelog ]
· #1334 - Fix inaccurate simulation of TRUNC(number, decimals) for Derby
· #1403 - Documentation bug: ctx.statement() can be replaced in executeStart(). This is not documented
· #1406 - Compilation errors in generated source code when Postgres stored procedure parameter is called "NAME"
· #1407 - Compilation errors in generated source code when Postgres data-type is "any" (with quotes!)
· #1409 - Postgres code generation broken when not connecting with the owner of a schema