jOOQ for Vaadin - Vaadin Add-on Directory
Integrates Vaadin with jOOQ to run type safe SQL queries.## What is jOOQ?
[jOOQ ](https://jooq.org/) generates Java code from your database and lets you build type-safe SQL queries through its fluent API.
## RecordGrid
The RecordGrid uses the table fields generated by jOOQ to create Vaadin Grid.
It contains a Builder that can be used to create the Grid.
### Example
```java
RecordGrid grid =
new RecordGrid.Builder<>(V_EMPLOYEE, dslContext)
.withColumns(V_EMPLOYEE.EMPLOYEE_ID, V_EMPLOYEE.EMPLOYEE_NAME, V_EMPLOYEE.DEPARTMENT_NAME)
.withSort(Map.of(V_EMPLOYEE.EMPLOYEE_NAME, true))
.build();
```
For a fully integrated example, look at the [showcase project](https://github.com/simasch/vaadin-jooq-employee).
## VaadinJooqUtil
The VaadinJooqUtil class provides a convenient method to convert sort orders from a Vaadin DataProvider to OrderFields that can be used in a orderBy clause with jOOQ.
#### Example
```java
dataProvider = new CallbackDataProvider(
query -> dsl
.selectFrom(V_EMPLOYEE)
.where(query.getFilter().orElse(DSL.noCondition()))
.orderBy(orderFields(V_EMPLOYEE, query)) // usage of VaadinJooUtil
.offset(query.getOffset())
.limit(query.getLimit())
.fetchStream(),
query -> dsl
.selectCount()
.from(V_EMPLOYEE)
.where(query.getFilter().orElse(DSL.noCondition()))
.fetchOneInto(Integer.class),
VEmployeeRecord::getEmployeeId)
.withConfigurableFilter();
```
View on GitHubjOOQ for Vaadin version 2.0.4
Create SortOrder for a corresponding Java Record
Thanks to Sebastian Kuehnau for his contribution
jOOQ for Vaadin version 2.1.1
The project was moved under a new groupId ch.martinelli.oss