
jOOQ Masterclass
By :

Let's assume that you have configured the jOOQ generator to output the generated DAO layer in the jooq.generated.tables.daos
package. While the generated DAO exposes common query methods such as insert()
, update()
, delete()
, and a few specific queries of the fetchBy...()
or fetchRange...()
types, we want to extend it with our own query methods.
Important Note
This is one of my favorite ways of writing a DAO layer in a Spring Boot and jOOQ application.
The jOOQ DAO layer contains a set of generated classes that mirrors the database tables and extends the built-in org.jooq.impl.DAOImpl
class. For example, the jooq.generated.tables.daos.SaleRepository
class (or, jooq.generated.tables.daos.SaleDao
if you keep the default naming strategy used by jOOQ) corresponds to the SALE
table. In order to extend SaleRepository
, we have to take a quick look at its source code and highlight a part of it as follows:
@Repository public class SaleRepository...