diff --git a/jdbc/jooq/pom.xml b/jdbc/jooq/pom.xml
index 13a3a3c4..e55191db 100644
--- a/jdbc/jooq/pom.xml
+++ b/jdbc/jooq/pom.xml
@@ -1,75 +1,74 @@
- 4.0.0
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ 4.0.0
- spring-data-jdbc-jooq
+ spring-data-jdbc-jooq
-
- org.springframework.data.examples
- spring-data-jdbc-examples
- 2.0.0.BUILD-SNAPSHOT
- ../pom.xml
-
+
+ org.springframework.data.examples
+ spring-data-jdbc-examples
+ 2.0.0.BUILD-SNAPSHOT
+ ../pom.xml
+
- Spring Data JDBC - Usage with jOOQ
- Sample project demonstrating Spring Data JDBC features
+ Spring Data JDBC - Usage with jOOQ
+ Sample project demonstrating Spring Data JDBC features
-
- 3.11.0
- 2.0.3.RELEASE
-
+
+ 3.11.0
+ 2.0.3.RELEASE
+
-
-
- org.jooq
- jooq
- ${jooq.version}
-
-
- org.springframework.boot
- spring-boot-starter-jooq
- ${spring-boot-starter-jooq.version}
-
-
- org.jooq
- jooq-meta-extensions
- ${jooq.version}
-
-
+
+
+ org.jooq
+ jooq
+ ${jooq.version}
+
+
+ org.springframework.boot
+ spring-boot-starter-jooq
+ ${spring-boot-starter-jooq.version}
+
+
+ org.jooq
+ jooq-meta-extensions
+ ${jooq.version}
+
+
-
-
-
- org.jooq
- jooq-codegen-maven
- ${jooq.version}
+
+
+
+ org.jooq
+ jooq-codegen-maven
+ ${jooq.version}
-
-
-
- generate
-
-
-
+
+
+
+ generate
+
+
+
-
-
-
- org.jooq.meta.extensions.ddl.DDLDatabase
-
-
- scripts
- ${basedir}/src/main/resources/schema.sql
-
-
-
-
- example.springdata.jdbc.basics.simpleentity.domain
- ${basedir}/gensrc/main/java
-
-
-
-
-
-
+
+
+
+ org.jooq.meta.extensions.ddl.DDLDatabase
+
+
+ scripts
+ ${basedir}/src/main/resources/schema.sql
+
+
+
+
+ example.springdata.jdbc.basics.simpleentity.domain
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/AgeGroup.java b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/AgeGroup.java
index f7dbc09b..13af46f2 100644
--- a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/AgeGroup.java
+++ b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/AgeGroup.java
@@ -19,11 +19,9 @@ package example.springdata.jdbc.jooq;
* Age group for which a LegoSet is intended.
*
* @author Jens Schauder
+ * @author Florian Lüdiger
*/
public enum AgeGroup {
- _0to3,
- _3to8,
- _8to12,
- _12andOlder
+ _0to3, _3to8, _8to12, _12andOlder
}
diff --git a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/Category.java b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/Category.java
index 52d59473..0782cfd3 100644
--- a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/Category.java
+++ b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/Category.java
@@ -16,6 +16,7 @@
package example.springdata.jdbc.jooq;
import lombok.Data;
+
import org.springframework.data.annotation.Id;
/**
diff --git a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/CategoryConfiguration.java b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/CategoryConfiguration.java
index 14e8abac..76dbc7ad 100644
--- a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/CategoryConfiguration.java
+++ b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/CategoryConfiguration.java
@@ -15,6 +15,8 @@
*/
package example.springdata.jdbc.jooq;
+import javax.sql.DataSource;
+
import org.jooq.impl.DataSourceConnectionProvider;
import org.jooq.impl.DefaultConfiguration;
import org.jooq.impl.DefaultDSLContext;
@@ -29,8 +31,6 @@ import org.springframework.data.jdbc.repository.config.JdbcConfiguration;
import org.springframework.data.relational.core.mapping.event.RelationalEvent;
import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy;
-import javax.sql.DataSource;
-
/**
* Contains infrastructure necessary for creating repositories and two listeners.
*
@@ -45,18 +45,7 @@ import javax.sql.DataSource;
@Import(JdbcConfiguration.class)
public class CategoryConfiguration {
- @Autowired
- private DataSource dataSource;
-
- @Bean
- public ApplicationListener> loggingListener() {
-
- return (ApplicationListener) event -> {
- if (event instanceof RelationalEvent) {
- System.out.println("Received an event: " + event);
- }
- };
- }
+ @Autowired private DataSource dataSource;
@Bean
public DataSourceConnectionProvider connectionProvider() {
diff --git a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/CategoryRepository.java b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/CategoryRepository.java
index 958fff7e..088b5b30 100644
--- a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/CategoryRepository.java
+++ b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/CategoryRepository.java
@@ -22,5 +22,4 @@ import org.springframework.data.repository.CrudRepository;
*
* @author Jens Schauder
*/
-interface CategoryRepository extends CrudRepository, JooqRepository {
-}
+interface CategoryRepository extends CrudRepository, JooqRepository {}
diff --git a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/JooqRepository.java b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/JooqRepository.java
index 2ab8a90f..2bf919b3 100644
--- a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/JooqRepository.java
+++ b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/JooqRepository.java
@@ -2,6 +2,9 @@ package example.springdata.jdbc.jooq;
import java.util.List;
+/**
+ * @author Florian Lüdiger
+ */
public interface JooqRepository {
- List getCategoriesWithAgeGroup(AgeGroup ageGroup);
+ List getCategoriesWithAgeGroup(AgeGroup ageGroup);
}
diff --git a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/JooqRepositoryImpl.java b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/JooqRepositoryImpl.java
index a9e960ff..e3d8bef4 100644
--- a/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/JooqRepositoryImpl.java
+++ b/jdbc/jooq/src/main/java/example/springdata/jdbc/jooq/JooqRepositoryImpl.java
@@ -1,10 +1,10 @@
package example.springdata.jdbc.jooq;
-import org.jooq.DSLContext;
+import static example.springdata.jdbc.basics.simpleentity.domain.tables.Category.*;
import java.util.List;
-import static example.springdata.jdbc.basics.simpleentity.domain.tables.Category.CATEGORY;
+import org.jooq.DSLContext;
/**
* Implementations for custom repository access using jOOQ.
@@ -13,17 +13,14 @@ import static example.springdata.jdbc.basics.simpleentity.domain.tables.Category
*/
public class JooqRepositoryImpl implements JooqRepository {
- private final DSLContext dslContext;
+ private final DSLContext dslContext;
- public JooqRepositoryImpl(DSLContext dslContext) {
- this.dslContext = dslContext;
- }
+ public JooqRepositoryImpl(DSLContext dslContext) {
+ this.dslContext = dslContext;
+ }
- public List getCategoriesWithAgeGroup(AgeGroup ageGroup) {
- return this.dslContext
- .select()
- .from(CATEGORY)
- .where(CATEGORY.AGE_GROUP.equal(ageGroup.name()))
- .fetchInto(Category.class);
- }
+ public List getCategoriesWithAgeGroup(AgeGroup ageGroup) {
+ return this.dslContext.select().from(CATEGORY).where(CATEGORY.AGE_GROUP.equal(ageGroup.name()))
+ .fetchInto(Category.class);
+ }
}
diff --git a/jdbc/jooq/src/test/java/example/springdata/jdbc/jooq/SimpleEntityTests.java b/jdbc/jooq/src/test/java/example/springdata/jdbc/jooq/SimpleEntityTests.java
index 2943f55c..450a8695 100644
--- a/jdbc/jooq/src/test/java/example/springdata/jdbc/jooq/SimpleEntityTests.java
+++ b/jdbc/jooq/src/test/java/example/springdata/jdbc/jooq/SimpleEntityTests.java
@@ -15,6 +15,11 @@
*/
package example.springdata.jdbc.jooq;
+import static java.util.Arrays.*;
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.List;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -23,11 +28,6 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.context.junit4.SpringRunner;
-import java.util.List;
-
-import static java.util.Arrays.asList;
-import static org.assertj.core.api.Assertions.assertThat;
-
/**
* Demonstrates simple CRUD operations with a simple entity without any references.
*
@@ -40,16 +40,15 @@ import static org.assertj.core.api.Assertions.assertThat;
@ComponentScan
public class SimpleEntityTests {
- @Autowired
- CategoryRepository repository;
+ @Autowired CategoryRepository repository;
@Test
public void exerciseRepositoryForSimpleEntity() {
// create some categories
- Category cars = new Category(null,"Cars", "Anything that has approximately 4 wheels", AgeGroup._3to8);
+ Category cars = new Category(null, "Cars", "Anything that has approximately 4 wheels", AgeGroup._3to8);
- Category buildings = new Category(null,"Buildings", null, AgeGroup._12andOlder);
+ Category buildings = new Category(null, "Buildings", null, AgeGroup._12andOlder);
// save categories
repository.saveAll(asList(cars, buildings));
@@ -64,9 +63,11 @@ public class SimpleEntityTests {
Output.list(repository.findAll(), "`Buildings` has a description");
List categoryList = repository.getCategoriesWithAgeGroup(AgeGroup._3to8);
- assertThat(categoryList.size()).isEqualTo(1);
- assertThat(categoryList.get(0).getName()).isEqualTo(cars.getName());
- assertThat(categoryList.get(0).getDescription()).isEqualTo(cars.getDescription());
- assertThat(categoryList.get(0).getAgeGroup()).isEqualTo(cars.getAgeGroup());
+
+ assertThat(categoryList) //
+ .extracting(Category::getName, Category::getDescription, Category::getAgeGroup) //
+ .containsExactly( //
+ tuple(cars.getName(), cars.getDescription(), cars.getAgeGroup()) //
+ );
}
}