diff --git a/spring-data-jdbc/pom.xml b/spring-data-jdbc/pom.xml
new file mode 100644
index 00000000..f3261b5e
--- /dev/null
+++ b/spring-data-jdbc/pom.xml
@@ -0,0 +1,207 @@
+
+
+
+ 4.0.0
+
+ spring-data-jdbc
+ 1.1.0.BUILD-SNAPSHOT
+
+ Spring Data JDBC
+ Spring Data module for JDBC repositories.
+ http://projects.spring.io/spring-data-jdbc
+
+
+ org.springframework.data
+ spring-data-relational-parent
+ 1.1.0.BUILD-SNAPSHOT
+
+
+
+
+ DATAJDBC
+
+ 2.2.0.BUILD-SNAPSHOT
+ spring.data.jdbc
+ 2.2.8
+ 3.4.6
+ 1.3.2
+ 5.1.41
+ 42.0.0
+ 2.2.3
+
+
+ 2017
+
+
+
+ schauder
+ Jens Schauder
+ jschauder(at)pivotal.io
+ Pivotal Software, Inc.
+ https://pivotal.io
+
+ Project Lead
+
+ +1
+
+
+ gregturn
+ Greg L. Turnquist
+ gturnquist(at)pivotal.io
+ Pivotal Software, Inc.
+ https://pivotal.io
+
+ Project Contributor
+
+ -6
+
+
+ ogierke
+ Oliver Gierke
+ ogierke(at)pivotal.io
+ Pivotal Software, Inc.
+ https://pivotal.io
+
+ Project Contributor
+
+ +1
+
+
+ mpaluch
+ Mark Paluch
+ mpaluch(at)pivotal.io
+ Pivotal Software, Inc.
+ https://pivotal.io
+
+ Project Contributor
+
+ +1
+
+
+
+
+
+
+ ${project.groupId}
+ spring-data-relational
+ ${project.version}
+
+
+
+ ${project.groupId}
+ spring-data-commons
+ ${springdata.commons}
+
+
+
+ org.springframework
+ spring-tx
+
+
+
+ org.springframework
+ spring-context
+
+
+
+ org.springframework
+ spring-beans
+
+
+
+ org.springframework
+ spring-jdbc
+
+
+
+ org.springframework
+ spring-core
+
+
+
+ org.mybatis
+ mybatis-spring
+ ${mybatis-spring.version}
+ true
+
+
+
+ org.mybatis
+ mybatis
+ ${mybatis.version}
+ true
+
+
+
+ org.hsqldb
+ hsqldb
+ ${hsqldb.version}
+ test
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj-core.version}
+ test
+
+
+
+ mysql
+ mysql-connector-java
+ ${mysql-connector-java.version}
+ test
+
+
+
+ org.postgresql
+ postgresql
+ ${postgresql.version}
+ test
+
+
+
+ org.mariadb.jdbc
+ mariadb-java-client
+ ${mariadb-java-client.version}
+ test
+
+
+
+ de.schauderhaft.degraph
+ degraph-check
+ ${degraph-check.version}
+ test
+
+
+
+ org.testcontainers
+ mysql
+ ${testcontainers.version}
+ test
+
+
+ org.slf4j
+ jcl-over-slf4j
+
+
+
+
+
+ org.testcontainers
+ postgresql
+ ${testcontainers.version}
+ test
+
+
+
+ org.testcontainers
+ mariadb
+ ${testcontainers.version}
+ test
+
+
+
+
+
diff --git a/src/main/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategy.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategy.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategy.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/DataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DataAccessStrategy.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/DataAccessStrategy.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DataAccessStrategy.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategy.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategy.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategy.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreter.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreter.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreter.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreter.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/DelegatingDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DelegatingDataAccessStrategy.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/DelegatingDataAccessStrategy.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DelegatingDataAccessStrategy.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/EntityRowMapper.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/EntityRowMapper.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/EntityRowMapper.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/EntityRowMapper.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/FunctionCollector.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/FunctionCollector.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/FunctionCollector.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/FunctionCollector.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverter.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverter.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverter.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverter.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateOperations.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateOperations.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/JdbcAggregateOperations.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateOperations.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/MapEntityRowMapper.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/MapEntityRowMapper.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/MapEntityRowMapper.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/MapEntityRowMapper.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/SelectBuilder.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SelectBuilder.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/SelectBuilder.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SelectBuilder.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/SqlGeneratorSource.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SqlGeneratorSource.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/SqlGeneratorSource.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SqlGeneratorSource.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/UnableToSetId.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/UnableToSetId.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/UnableToSetId.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/UnableToSetId.java
diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/BasicJdbcConverter.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/BasicJdbcConverter.java
new file mode 100644
index 00000000..423f47b2
--- /dev/null
+++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/BasicJdbcConverter.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2018 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.data.jdbc.core.convert;
+
+import org.springframework.data.convert.CustomConversions;
+import org.springframework.data.jdbc.core.mapping.AggregateReference;
+import org.springframework.data.mapping.context.MappingContext;
+import org.springframework.data.mapping.model.SimpleTypeHolder;
+import org.springframework.data.relational.core.conversion.BasicRelationalConverter;
+import org.springframework.data.relational.core.conversion.RelationalConverter;
+import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
+import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
+import org.springframework.data.util.TypeInformation;
+import org.springframework.lang.Nullable;
+
+/**
+ * {@link RelationalConverter} that uses a {@link MappingContext} to apply basic conversion of relational values to
+ * property values.
+ *
+ * Conversion is configurable by providing a customized {@link CustomConversions}.
+ *
+ * @author Mark Paluch
+ * @author Jens Schauder
+ * @see MappingContext
+ * @see SimpleTypeHolder
+ * @see CustomConversions
+ */
+public class BasicJdbcConverter extends BasicRelationalConverter {
+
+ /**
+ * Creates a new {@link BasicRelationalConverter} given {@link MappingContext}.
+ *
+ * @param context must not be {@literal null}. org.springframework.data.jdbc.core.DefaultDataAccessStrategyUnitTests
+ */
+ public BasicJdbcConverter(
+ MappingContext extends RelationalPersistentEntity>, ? extends RelationalPersistentProperty> context) {
+ super(context);
+ }
+
+ /**
+ * Creates a new {@link BasicRelationalConverter} given {@link MappingContext} and {@link CustomConversions}.
+ *
+ * @param context must not be {@literal null}.
+ * @param conversions must not be {@literal null}.
+ */
+ public BasicJdbcConverter(
+ MappingContext extends RelationalPersistentEntity>, ? extends RelationalPersistentProperty> context,
+ CustomConversions conversions) {
+ super(context, conversions);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.springframework.data.relational.core.conversion.RelationalConverter#readValue(java.lang.Object, org.springframework.data.util.TypeInformation)
+ */
+ @Override
+ @Nullable
+ public Object readValue(@Nullable Object value, TypeInformation> type) {
+
+ if (null == value) {
+ return null;
+ }
+
+ if (getConversions().hasCustomReadTarget(value.getClass(), type.getType())) {
+ return getConversionService().convert(value, type.getType());
+ }
+
+ if (AggregateReference.class.isAssignableFrom(type.getType())) {
+
+ TypeInformation> idType = type.getSuperTypeInformation(AggregateReference.class).getTypeArguments().get(1);
+
+ return AggregateReference.to(readValue(value, idType));
+ }
+
+ return super.readValue(value, type);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.springframework.data.relational.core.conversion.RelationalConverter#writeValue(java.lang.Object, org.springframework.data.util.TypeInformation)
+ */
+ @Override
+ @Nullable
+ public Object writeValue(@Nullable Object value, TypeInformation> type) {
+
+ if (value == null) {
+ return null;
+ }
+
+ if (AggregateReference.class.isAssignableFrom(value.getClass())) {
+ return writeValue(((AggregateReference) value).getId(), type);
+ }
+
+ return super.writeValue(value, type);
+ }
+}
diff --git a/src/main/java/org/springframework/data/jdbc/core/convert/JdbcCustomConversions.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/JdbcCustomConversions.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/convert/JdbcCustomConversions.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/JdbcCustomConversions.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/mapping/AggregateReference.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/AggregateReference.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/mapping/AggregateReference.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/AggregateReference.java
diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentProperty.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentProperty.java
new file mode 100644
index 00000000..b738c08b
--- /dev/null
+++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentProperty.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2018 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.data.jdbc.core.mapping;
+
+import org.springframework.data.jdbc.support.JdbcUtil;
+import org.springframework.data.mapping.PersistentEntity;
+import org.springframework.data.mapping.model.Property;
+import org.springframework.data.mapping.model.SimpleTypeHolder;
+import org.springframework.data.relational.core.mapping.BasicRelationalPersistentProperty;
+import org.springframework.data.relational.core.mapping.RelationalMappingContext;
+import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
+
+/**
+ * @author Mark Paluch
+ */
+public class BasicJdbcPersistentProperty extends BasicRelationalPersistentProperty {
+
+ /**
+ * Creates a new {@link BasicJdbcPersistentProperty}.
+ *
+ * @param property must not be {@literal null}.
+ * @param owner must not be {@literal null}.
+ * @param simpleTypeHolder must not be {@literal null}.
+ * @param context must not be {@literal null}
+ */
+ public BasicJdbcPersistentProperty(Property property, PersistentEntity, RelationalPersistentProperty> owner,
+ SimpleTypeHolder simpleTypeHolder, RelationalMappingContext context) {
+ super(property, owner, simpleTypeHolder, context);
+ }
+
+ @Override
+ public int getSqlType() {
+ return JdbcUtil.sqlTypeFor(getColumnType());
+ }
+
+ @Override
+ public boolean isReference() {
+ return AggregateReference.class.isAssignableFrom(getRawType());
+ }
+
+}
diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcMappingContext.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcMappingContext.java
new file mode 100644
index 00000000..6dad9022
--- /dev/null
+++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcMappingContext.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2018 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.data.jdbc.core.mapping;
+
+import org.springframework.data.mapping.context.MappingContext;
+import org.springframework.data.mapping.model.Property;
+import org.springframework.data.mapping.model.SimpleTypeHolder;
+import org.springframework.data.relational.core.mapping.NamingStrategy;
+import org.springframework.data.relational.core.mapping.RelationalMappingContext;
+import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
+import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
+import org.springframework.data.util.TypeInformation;
+
+/**
+ * {@link MappingContext} implementation for JDBC.
+ *
+ * @author Jens Schauder
+ * @author Greg Turnquist
+ * @author Kazuki Shimizu
+ * @author Oliver Gierke
+ * @author Mark Paluch
+ */
+public class JdbcMappingContext extends RelationalMappingContext {
+
+ /**
+ * Creates a new {@link JdbcMappingContext}.
+ */
+ public JdbcMappingContext() {
+ super();
+ }
+
+ /**
+ * Creates a new {@link JdbcMappingContext} using the given {@link NamingStrategy}.
+ *
+ * @param namingStrategy must not be {@literal null}.
+ */
+ public JdbcMappingContext(NamingStrategy namingStrategy) {
+ super(namingStrategy);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.springframework.data.mapping.context.AbstractMappingContext#createPersistentProperty(org.springframework.data.mapping.model.Property, org.springframework.data.mapping.model.MutablePersistentEntity, org.springframework.data.mapping.model.SimpleTypeHolder)
+ */
+ @Override
+ protected RelationalPersistentProperty createPersistentProperty(Property property,
+ RelationalPersistentEntity> owner, SimpleTypeHolder simpleTypeHolder) {
+ return new BasicJdbcPersistentProperty(property, owner, simpleTypeHolder, this);
+ }
+
+ @Override
+ protected boolean shouldCreatePersistentEntityFor(TypeInformation> type) {
+ return super.shouldCreatePersistentEntityFor(type) && !AggregateReference.class.isAssignableFrom(type.getType());
+ }
+}
diff --git a/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcSimpleTypes.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcSimpleTypes.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/mapping/JdbcSimpleTypes.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcSimpleTypes.java
diff --git a/src/main/java/org/springframework/data/jdbc/core/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/core/package-info.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/package-info.java
diff --git a/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java
diff --git a/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java
diff --git a/src/main/java/org/springframework/data/jdbc/mybatis/NamespaceStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/NamespaceStrategy.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/mybatis/NamespaceStrategy.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/NamespaceStrategy.java
diff --git a/src/main/java/org/springframework/data/jdbc/mybatis/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/mybatis/package-info.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/package-info.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/RowMapperMap.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/RowMapperMap.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/RowMapperMap.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/RowMapperMap.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMap.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMap.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMap.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMap.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditing.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditing.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditing.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditing.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositories.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositories.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositories.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositories.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/JdbcAuditingRegistrar.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcAuditingRegistrar.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/config/JdbcAuditingRegistrar.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcAuditingRegistrar.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java
similarity index 88%
rename from src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java
index 8244c61c..fdd5771f 100644
--- a/src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java
+++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java
@@ -20,7 +20,9 @@ import java.util.Optional;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
+import org.springframework.data.jdbc.core.convert.BasicJdbcConverter;
import org.springframework.data.jdbc.core.convert.JdbcCustomConversions;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.relational.core.conversion.BasicRelationalConverter;
import org.springframework.data.relational.core.conversion.RelationalConverter;
import org.springframework.data.relational.core.mapping.NamingStrategy;
@@ -45,9 +47,9 @@ public class JdbcConfiguration {
* @return must not be {@literal null}.
*/
@Bean
- protected RelationalMappingContext jdbcMappingContext(Optional namingStrategy) {
+ protected JdbcMappingContext jdbcMappingContext(Optional namingStrategy) {
- RelationalMappingContext mappingContext = new RelationalMappingContext(
+ JdbcMappingContext mappingContext = new JdbcMappingContext(
namingStrategy.orElse(NamingStrategy.INSTANCE));
mappingContext.setSimpleTypeHolder(jdbcCustomConversions().getSimpleTypeHolder());
@@ -64,7 +66,7 @@ public class JdbcConfiguration {
*/
@Bean
protected RelationalConverter relationalConverter(RelationalMappingContext mappingContext) {
- return new BasicRelationalConverter(mappingContext, jdbcCustomConversions());
+ return new BasicJdbcConverter(mappingContext, jdbcCustomConversions());
}
/**
diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoriesRegistrar.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoriesRegistrar.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoriesRegistrar.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoriesRegistrar.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoryConfigExtension.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoryConfigExtension.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoryConfigExtension.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoryConfigExtension.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/config/package-info.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/package-info.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/package-info.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/package-info.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/query/Modifying.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Modifying.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/query/Modifying.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Modifying.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/query/Query.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Query.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/query/Query.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Query.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/query/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/query/package-info.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/package-info.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategy.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategy.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategy.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethod.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethod.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethod.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethod.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBean.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBean.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBean.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBean.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQuery.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQuery.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQuery.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQuery.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java
diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/repository/support/package-info.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/package-info.java
diff --git a/src/main/java/org/springframework/data/jdbc/support/JdbcUtil.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/support/JdbcUtil.java
similarity index 100%
rename from src/main/java/org/springframework/data/jdbc/support/JdbcUtil.java
rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/support/JdbcUtil.java
diff --git a/src/test/java/org/springframework/data/jdbc/core/AggregateTemplateIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/AggregateTemplateIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/core/AggregateTemplateIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/AggregateTemplateIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategyUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategyUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategyUnitTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java
similarity index 97%
rename from src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java
index c9155825..e81da13a 100644
--- a/src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java
@@ -33,6 +33,7 @@ import org.springframework.data.annotation.Id;
import org.springframework.data.convert.ReadingConverter;
import org.springframework.data.convert.WritingConverter;
import org.springframework.data.jdbc.core.convert.JdbcCustomConversions;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.relational.core.conversion.BasicRelationalConverter;
import org.springframework.data.relational.core.conversion.RelationalConverter;
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
@@ -52,7 +53,7 @@ public class DefaultDataAccessStrategyUnitTests {
public static final long ORIGINAL_ID = 4711L;
NamedParameterJdbcOperations jdbcOperations = mock(NamedParameterJdbcOperations.class);
- RelationalMappingContext context = new RelationalMappingContext();
+ RelationalMappingContext context = new JdbcMappingContext();
RelationalConverter converter = new BasicRelationalConverter(context, new JdbcCustomConversions());
HashMap additionalParameters = new HashMap<>();
ArgumentCaptor paramSourceCaptor = ArgumentCaptor.forClass(SqlParameterSource.class);
diff --git a/src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java
similarity index 96%
rename from src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java
index 022d53c8..b4b605c9 100644
--- a/src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java
@@ -25,6 +25,7 @@ import java.util.Map;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
import org.springframework.data.annotation.Id;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.relational.core.conversion.DbAction.Insert;
import org.springframework.data.relational.core.conversion.DbAction.InsertRoot;
import org.springframework.data.relational.core.mapping.NamingStrategy;
@@ -41,7 +42,7 @@ public class DefaultJdbcInterpreterUnitTests {
static final long CONTAINER_ID = 23L;
static final String BACK_REFERENCE = "back-reference";
- RelationalMappingContext context = new RelationalMappingContext(new NamingStrategy() {
+ RelationalMappingContext context = new JdbcMappingContext(new NamingStrategy() {
@Override
public String getReverseColumnName(RelationalPersistentProperty property) {
return BACK_REFERENCE;
diff --git a/src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java
similarity index 98%
rename from src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java
index b1bfb3ef..201506db 100644
--- a/src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java
@@ -42,6 +42,7 @@ import org.mockito.stubbing.Answer;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.PersistenceConstructor;
import org.springframework.data.jdbc.core.convert.JdbcCustomConversions;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.relational.core.conversion.BasicRelationalConverter;
import org.springframework.data.relational.core.conversion.RelationalConverter;
import org.springframework.data.relational.core.mapping.NamingStrategy;
@@ -207,7 +208,7 @@ public class EntityRowMapperUnitTests {
private EntityRowMapper createRowMapper(Class type, NamingStrategy namingStrategy) {
- RelationalMappingContext context = new RelationalMappingContext(namingStrategy);
+ RelationalMappingContext context = new JdbcMappingContext(namingStrategy);
DataAccessStrategy accessStrategy = mock(DataAccessStrategy.class);
diff --git a/src/test/java/org/springframework/data/jdbc/core/ImmutableAggregateTemplateHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/ImmutableAggregateTemplateHsqlIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/core/ImmutableAggregateTemplateHsqlIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/ImmutableAggregateTemplateHsqlIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverterUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverterUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverterUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverterUnitTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java
similarity index 98%
rename from src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java
index 7d52275d..3248b8a0 100644
--- a/src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java
@@ -26,6 +26,7 @@ import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.jdbc.mybatis.MyBatisContext;
import org.springframework.data.jdbc.mybatis.MyBatisDataAccessStrategy;
import org.springframework.data.mapping.PersistentPropertyPath;
@@ -39,7 +40,7 @@ import org.springframework.data.relational.core.mapping.RelationalPersistentProp
*/
public class MyBatisDataAccessStrategyUnitTests {
- RelationalMappingContext context = new RelationalMappingContext();
+ RelationalMappingContext context = new JdbcMappingContext();
SqlSession session = mock(SqlSession.class);
ArgumentCaptor captor = ArgumentCaptor.forClass(MyBatisContext.class);
diff --git a/src/test/java/org/springframework/data/jdbc/core/PropertyPathUtils.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/PropertyPathUtils.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/core/PropertyPathUtils.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/PropertyPathUtils.java
diff --git a/src/test/java/org/springframework/data/jdbc/core/SelectBuilderUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SelectBuilderUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/core/SelectBuilderUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SelectBuilderUnitTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java
similarity index 97%
rename from src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java
index 9099a8d4..d40081e1 100644
--- a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java
@@ -25,6 +25,7 @@ import java.util.function.Consumer;
import org.assertj.core.api.SoftAssertions;
import org.junit.Test;
import org.springframework.data.annotation.Id;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.jdbc.core.mapping.PersistentPropertyPathTestUtils;
import org.springframework.data.mapping.PersistentPropertyPath;
import org.springframework.data.relational.core.mapping.NamingStrategy;
@@ -41,7 +42,7 @@ import org.springframework.data.relational.core.mapping.RelationalPersistentProp
*/
public class SqlGeneratorContextBasedNamingStrategyUnitTests {
- RelationalMappingContext context = new RelationalMappingContext();
+ RelationalMappingContext context = new JdbcMappingContext();
ThreadLocal userHandler = new ThreadLocal<>();
/**
@@ -207,7 +208,7 @@ public class SqlGeneratorContextBasedNamingStrategyUnitTests {
*/
private SqlGenerator configureSqlGenerator(NamingStrategy namingStrategy) {
- RelationalMappingContext context = new RelationalMappingContext(namingStrategy);
+ RelationalMappingContext context = new JdbcMappingContext(namingStrategy);
RelationalPersistentEntity> persistentEntity = context.getRequiredPersistentEntity(DummyEntity.class);
return new SqlGenerator(context, persistentEntity, new SqlGeneratorSource(context));
diff --git a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java
similarity index 97%
rename from src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java
index e25e5582..7a8105d5 100644
--- a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java
@@ -20,13 +20,13 @@ import static org.assertj.core.api.Assertions.*;
import org.assertj.core.api.SoftAssertions;
import org.junit.Test;
import org.springframework.data.annotation.Id;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.jdbc.core.mapping.PersistentPropertyPathTestUtils;
import org.springframework.data.mapping.PersistentPropertyPath;
-import org.springframework.data.mapping.PropertyPath;
+import org.springframework.data.relational.core.mapping.NamingStrategy;
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
-import org.springframework.data.relational.core.mapping.NamingStrategy;
/**
* Unit tests the {@link SqlGenerator} with a fixed {@link NamingStrategy} implementation containing a hard wired
@@ -67,7 +67,7 @@ public class SqlGeneratorFixedNamingStrategyUnitTests {
}
};
- private RelationalMappingContext context = new RelationalMappingContext();
+ private RelationalMappingContext context = new JdbcMappingContext();
@Test // DATAJDBC-107
public void findOneWithOverriddenFixedTableName() {
@@ -187,7 +187,7 @@ public class SqlGeneratorFixedNamingStrategyUnitTests {
*/
private SqlGenerator configureSqlGenerator(NamingStrategy namingStrategy) {
- RelationalMappingContext context = new RelationalMappingContext(namingStrategy);
+ RelationalMappingContext context = new JdbcMappingContext(namingStrategy);
RelationalPersistentEntity> persistentEntity = context.getRequiredPersistentEntity(DummyEntity.class);
return new SqlGenerator(context, persistentEntity, new SqlGeneratorSource(context));
}
diff --git a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java
similarity index 97%
rename from src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java
index 9578d6c7..97d97827 100644
--- a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java
@@ -26,6 +26,7 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.data.annotation.Id;
import org.springframework.data.jdbc.core.mapping.AggregateReference;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.jdbc.core.mapping.PersistentPropertyPathTestUtils;
import org.springframework.data.mapping.PersistentPropertyPath;
import org.springframework.data.relational.core.mapping.NamingStrategy;
@@ -42,7 +43,7 @@ import org.springframework.data.relational.core.mapping.RelationalPersistentProp
public class SqlGeneratorUnitTests {
private SqlGenerator sqlGenerator;
- private RelationalMappingContext context = new RelationalMappingContext();
+ private RelationalMappingContext context = new JdbcMappingContext();
@Before
public void setUp() {
@@ -53,7 +54,7 @@ public class SqlGeneratorUnitTests {
SqlGenerator createSqlGenerator(Class> type) {
NamingStrategy namingStrategy = new PrefixingNamingStrategy();
- RelationalMappingContext context = new RelationalMappingContext(namingStrategy);
+ RelationalMappingContext context = new JdbcMappingContext(namingStrategy);
RelationalPersistentEntity> persistentEntity = context.getRequiredPersistentEntity(type);
return new SqlGenerator(context, persistentEntity, new SqlGeneratorSource(context));
diff --git a/src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterAggregateReferenceUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/BasicRelationalConverterAggregateReferenceUnitTests.java
similarity index 83%
rename from src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterAggregateReferenceUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/BasicRelationalConverterAggregateReferenceUnitTests.java
index bd46c2df..572d9e5c 100644
--- a/src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterAggregateReferenceUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/BasicRelationalConverterAggregateReferenceUnitTests.java
@@ -13,17 +13,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.relational.core.conversion;
+package org.springframework.data.jdbc.core.convert;
import static org.assertj.core.api.Assertions.*;
+import org.assertj.core.api.Assertions;
import org.assertj.core.api.SoftAssertions;
import org.junit.Test;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.convert.support.DefaultConversionService;
import org.springframework.data.annotation.Id;
import org.springframework.data.jdbc.core.mapping.AggregateReference;
-import org.springframework.data.relational.core.mapping.RelationalMappingContext;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
+import org.springframework.data.relational.core.conversion.RelationalConverter;
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
import org.springframework.data.util.ClassTypeInformation;
@@ -40,8 +42,8 @@ public class BasicRelationalConverterAggregateReferenceUnitTests {
ConversionService conversionService = new DefaultConversionService();
- RelationalMappingContext context = new RelationalMappingContext();
- RelationalConverter converter = new BasicRelationalConverter(context);
+ JdbcMappingContext context = new JdbcMappingContext();
+ RelationalConverter converter = new BasicJdbcConverter(context);
RelationalPersistentEntity> entity = context.getRequiredPersistentEntity(DummyEntity.class);
@@ -52,7 +54,7 @@ public class BasicRelationalConverterAggregateReferenceUnitTests {
Object readValue = converter.readValue(23, property.getTypeInformation());
- assertThat(readValue).isInstanceOf(AggregateReference.class);
+ Assertions.assertThat(readValue).isInstanceOf(AggregateReference.class);
assertThat(((AggregateReference) readValue).getId()).isEqualTo(23L);
}
@@ -65,7 +67,7 @@ public class BasicRelationalConverterAggregateReferenceUnitTests {
Object writeValue = converter.writeValue(reference, ClassTypeInformation.from(property.getColumnType()));
- assertThat(writeValue).isEqualTo(23L);
+ Assertions.assertThat(writeValue).isEqualTo(23L);
}
private static class DummyEntity {
diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentPropertyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentPropertyUnitTests.java
new file mode 100644
index 00000000..f634447c
--- /dev/null
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentPropertyUnitTests.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright 2018 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.data.jdbc.core.mapping;
+
+import static org.assertj.core.api.Assertions.*;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.time.ZonedDateTime;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+import org.assertj.core.api.SoftAssertions;
+import org.junit.Test;
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mapping.PropertyHandler;
+import org.springframework.data.relational.core.mapping.BasicRelationalPersistentProperty;
+import org.springframework.data.relational.core.mapping.Column;
+import org.springframework.data.relational.core.mapping.RelationalMappingContext;
+import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
+import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
+
+/**
+ * Unit tests for the {@link BasicRelationalPersistentProperty}.
+ *
+ * @author Jens Schauder
+ * @author Oliver Gierke
+ * @author Florian Lüdiger
+ */
+public class BasicJdbcPersistentPropertyUnitTests {
+
+ RelationalMappingContext context = new JdbcMappingContext();
+ RelationalPersistentEntity> entity = context.getRequiredPersistentEntity(DummyEntity.class);
+
+ @Test // DATAJDBC-104
+ public void enumGetsStoredAsString() {
+
+ RelationalPersistentEntity> persistentEntity = context.getRequiredPersistentEntity(DummyEntity.class);
+
+ entity.doWithProperties((PropertyHandler) p -> {
+ switch (p.getName()) {
+ case "someEnum":
+ assertThat(p.getColumnType()).isEqualTo(String.class);
+ break;
+ case "localDateTime":
+ assertThat(p.getColumnType()).isEqualTo(Date.class);
+ break;
+ case "zonedDateTime":
+ assertThat(p.getColumnType()).isEqualTo(String.class);
+ break;
+ default:
+ }
+ });
+ }
+
+ @Test // DATAJDBC-104, DATAJDBC-1384
+ public void testTargetTypesForPropertyType() {
+
+ SoftAssertions softly = new SoftAssertions();
+
+ RelationalPersistentEntity> persistentEntity = context.getRequiredPersistentEntity(DummyEntity.class);
+
+ checkTargetType(softly, persistentEntity, "someEnum", String.class);
+ checkTargetType(softly, persistentEntity, "localDateTime", Date.class);
+ checkTargetType(softly, persistentEntity, "zonedDateTime", String.class);
+ checkTargetType(softly, persistentEntity, "uuid", UUID.class);
+
+ softly.assertAll();
+ }
+
+ @Test // DATAJDBC-106
+ public void detectsAnnotatedColumnName() {
+
+ RelationalPersistentEntity> entity = context.getRequiredPersistentEntity(DummyEntity.class);
+
+ assertThat(entity.getRequiredPersistentProperty("name").getColumnName()).isEqualTo("dummy_name");
+ assertThat(entity.getRequiredPersistentProperty("localDateTime").getColumnName())
+ .isEqualTo("dummy_last_updated_at");
+ }
+
+ @Test // DATAJDBC-218
+ public void detectsAnnotatedColumnAndKeyName() {
+
+ RelationalPersistentProperty listProperty = context //
+ .getRequiredPersistentEntity(DummyEntity.class) //
+ .getRequiredPersistentProperty("someList");
+
+ assertThat(listProperty.getReverseColumnName()).isEqualTo("dummy_column_name");
+ assertThat(listProperty.getKeyColumn()).isEqualTo("dummy_key_column_name");
+ }
+
+ @Test // DATAJDBC-221
+ public void referencesAreNotEntitiesAndGetStoredAsTheirId() {
+
+ SoftAssertions softly = new SoftAssertions();
+
+ RelationalPersistentProperty reference = entity.getRequiredPersistentProperty("reference");
+
+ softly.assertThat(reference.isEntity()).isFalse();
+ softly.assertThat(reference.getColumnType()).isEqualTo(Long.class);
+
+ softly.assertAll();
+ }
+
+ private void checkTargetType(SoftAssertions softly, RelationalPersistentEntity> persistentEntity,
+ String propertyName, Class> expected) {
+
+ RelationalPersistentProperty property = persistentEntity.getRequiredPersistentProperty(propertyName);
+
+ softly.assertThat(property.getColumnType()).describedAs(propertyName).isEqualTo(expected);
+ }
+
+ @Data
+ @SuppressWarnings("unused")
+ private static class DummyEntity {
+
+ @Id private final Long id;
+ private final SomeEnum someEnum;
+ private final LocalDateTime localDateTime;
+ private final ZonedDateTime zonedDateTime;
+ private final AggregateReference reference;
+ private final List listField;
+ private final UUID uuid;
+
+ @Column(value = "dummy_column_name", keyColumn = "dummy_key_column_name") private List someList;
+
+ // DATACMNS-106
+ private @Column("dummy_name") String name;
+
+ @Column("dummy_last_updated_at")
+ public LocalDateTime getLocalDateTime() {
+ return localDateTime;
+ }
+
+ public void setListSetter(Integer integer) {
+
+ }
+
+ public List getListGetter() {
+ return null;
+ }
+ }
+
+ @SuppressWarnings("unused")
+ private enum SomeEnum {
+ ALPHA
+ }
+}
diff --git a/src/test/java/org/springframework/data/jdbc/core/mapping/PersistentPropertyPathTestUtils.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/PersistentPropertyPathTestUtils.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/core/mapping/PersistentPropertyPathTestUtils.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/PersistentPropertyPathTestUtils.java
diff --git a/src/test/java/org/springframework/data/jdbc/degraph/DependencyTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/degraph/DependencyTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/degraph/DependencyTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/degraph/DependencyTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java
similarity index 94%
rename from src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java
index 35a5dc3e..6d4a1044 100644
--- a/src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java
@@ -24,8 +24,8 @@ import java.util.List;
import org.junit.Test;
import org.springframework.data.annotation.Id;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.relational.core.mapping.NamingStrategy;
-import org.springframework.data.relational.core.mapping.RelationalMappingContext;
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
/**
@@ -40,7 +40,7 @@ public class NamingStrategyUnitTests {
private final NamingStrategy target = NamingStrategy.INSTANCE;
private final RelationalPersistentEntity> persistentEntity = //
- new RelationalMappingContext(target).getRequiredPersistentEntity(DummyEntity.class);
+ new JdbcMappingContext(target).getRequiredPersistentEntity(DummyEntity.class);
@Test // DATAJDBC-184
public void getTableName() {
diff --git a/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java
similarity index 99%
rename from src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java
index 8b08a36c..18dc5309 100644
--- a/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java
@@ -16,6 +16,7 @@
package org.springframework.data.jdbc.mybatis;
import lombok.experimental.Wither;
+
import org.apache.ibatis.type.Alias;
import org.springframework.data.annotation.Id;
diff --git a/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntityMapper.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntityMapper.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/mybatis/DummyEntityMapper.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntityMapper.java
diff --git a/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisHsqlIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/mybatis/MyBatisHsqlIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisHsqlIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java
index 070bacc6..3db4c2cc 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java
@@ -19,8 +19,8 @@ import static org.assertj.core.api.Assertions.*;
import lombok.Data;
import lombok.Value;
-
import lombok.experimental.FieldDefaults;
+
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java
similarity index 99%
rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java
index 90ba98f0..cfa69822 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java
@@ -28,7 +28,6 @@ import java.util.List;
import java.util.Random;
import org.junit.ClassRule;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryPropertyConversionIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryPropertyConversionIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryPropertyConversionIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryPropertyConversionIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java
similarity index 99%
rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java
index 312bade9..484787a6 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java
@@ -24,7 +24,6 @@ import lombok.RequiredArgsConstructor;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import org.junit.ClassRule;
diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java
similarity index 99%
rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java
index 8c5c72e9..ca05f350 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java
@@ -15,9 +15,16 @@
*/
package org.springframework.data.jdbc.repository;
+import static org.assertj.core.api.Assertions.*;
+
import junit.framework.AssertionFailedError;
import lombok.Data;
import lombok.RequiredArgsConstructor;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
@@ -35,12 +42,6 @@ import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.*;
-
/**
* Very simple use cases for creation and usage of JdbcRepositories for Entities that contain {@link List}s.
*
diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithMapsIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithMapsIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithMapsIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithMapsIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java
similarity index 98%
rename from src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java
index 9cf4fce3..4a2df163 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java
@@ -25,12 +25,12 @@ import static org.mockito.Mockito.*;
import junit.framework.AssertionFailedError;
import lombok.RequiredArgsConstructor;
import lombok.Value;
+import lombok.experimental.Wither;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
-import lombok.experimental.Wither;
import org.assertj.core.groups.Tuple;
import org.junit.Before;
import org.junit.Test;
@@ -40,6 +40,7 @@ import org.springframework.data.annotation.Id;
import org.springframework.data.jdbc.core.DefaultDataAccessStrategy;
import org.springframework.data.jdbc.core.SqlGeneratorSource;
import org.springframework.data.jdbc.core.convert.JdbcCustomConversions;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.jdbc.repository.support.JdbcRepositoryFactory;
import org.springframework.data.jdbc.repository.support.SimpleJdbcRepository;
import org.springframework.data.relational.core.conversion.BasicRelationalConverter;
@@ -74,7 +75,7 @@ public class SimpleJdbcRepositoryEventsUnitTests {
@Before
public void before() {
- RelationalMappingContext context = new RelationalMappingContext();
+ RelationalMappingContext context = new JdbcMappingContext();
RelationalConverter converter = new BasicRelationalConverter(context, new JdbcCustomConversions());
NamedParameterJdbcOperations operations = createIdGeneratingOperations();
diff --git a/src/test/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMapUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMapUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMapUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMapUnitTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java
similarity index 99%
rename from src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java
index bec15dd5..c69bbb75 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java
@@ -17,6 +17,8 @@ package org.springframework.data.jdbc.repository.query;
import static org.assertj.core.api.Assertions.*;
+import lombok.Value;
+
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.Date;
@@ -24,7 +26,6 @@ import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
-import lombok.Value;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategyUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategyUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategyUnitTests.java
diff --git a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java
similarity index 98%
rename from src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java
index 0b5f1ece..3f023f10 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java
@@ -16,7 +16,7 @@
package org.springframework.data.jdbc.repository.support;
import static org.assertj.core.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;
import java.lang.reflect.Method;
diff --git a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java
similarity index 96%
rename from src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java
index 1df85c73..d8026901 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java
@@ -28,6 +28,7 @@ import org.springframework.context.ApplicationEventPublisher;
import org.springframework.data.annotation.Id;
import org.springframework.data.jdbc.core.DataAccessStrategy;
import org.springframework.data.jdbc.core.DefaultDataAccessStrategy;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.jdbc.repository.RowMapperMap;
import org.springframework.data.relational.core.conversion.BasicRelationalConverter;
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
@@ -56,7 +57,7 @@ public class JdbcRepositoryFactoryBeanUnitTests {
@Before
public void setUp() {
- this.mappingContext = new RelationalMappingContext();
+ this.mappingContext = new JdbcMappingContext();
// Setup standard configuration
factoryBean = new JdbcRepositoryFactoryBean<>(DummyEntityRepository.class);
diff --git a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java
similarity index 96%
rename from src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java
index 6a86e70b..2b70a0b5 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java
@@ -15,7 +15,10 @@
*/
package org.springframework.data.jdbc.repository.support;
-import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Mockito.*;
import java.sql.ResultSet;
diff --git a/src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java
similarity index 97%
rename from src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java
index 0328209c..3fd62839 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java
@@ -16,7 +16,7 @@
package org.springframework.data.jdbc.repository.support;
import static org.assertj.core.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;
import org.junit.Test;
diff --git a/src/test/java/org/springframework/data/jdbc/testing/DataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/DataSourceConfiguration.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/testing/DataSourceConfiguration.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/DataSourceConfiguration.java
diff --git a/src/test/java/org/springframework/data/jdbc/testing/HsqlDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/HsqlDataSourceConfiguration.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/testing/HsqlDataSourceConfiguration.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/HsqlDataSourceConfiguration.java
diff --git a/src/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java
diff --git a/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java
diff --git a/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java
diff --git a/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java
similarity index 88%
rename from src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java
index 1afdfbc2..9211fb1b 100644
--- a/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java
@@ -29,9 +29,10 @@ import org.springframework.data.convert.CustomConversions;
import org.springframework.data.jdbc.core.DataAccessStrategy;
import org.springframework.data.jdbc.core.DefaultDataAccessStrategy;
import org.springframework.data.jdbc.core.SqlGeneratorSource;
+import org.springframework.data.jdbc.core.convert.BasicJdbcConverter;
import org.springframework.data.jdbc.core.convert.JdbcCustomConversions;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.jdbc.repository.support.JdbcRepositoryFactory;
-import org.springframework.data.relational.core.conversion.BasicRelationalConverter;
import org.springframework.data.relational.core.conversion.RelationalConverter;
import org.springframework.data.relational.core.mapping.NamingStrategy;
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
@@ -78,11 +79,10 @@ public class TestConfiguration {
}
@Bean
- RelationalMappingContext jdbcMappingContext(NamedParameterJdbcOperations template,
- Optional namingStrategy, CustomConversions conversions) {
+ JdbcMappingContext jdbcMappingContext(NamedParameterJdbcOperations template, Optional namingStrategy,
+ CustomConversions conversions) {
- RelationalMappingContext mappingContext = new RelationalMappingContext(
- namingStrategy.orElse(NamingStrategy.INSTANCE));
+ JdbcMappingContext mappingContext = new JdbcMappingContext(namingStrategy.orElse(NamingStrategy.INSTANCE));
mappingContext.setSimpleTypeHolder(conversions.getSimpleTypeHolder());
return mappingContext;
}
@@ -94,6 +94,6 @@ public class TestConfiguration {
@Bean
RelationalConverter relationalConverter(RelationalMappingContext mappingContext, CustomConversions conversions) {
- return new BasicRelationalConverter(mappingContext, conversions);
+ return new BasicJdbcConverter(mappingContext, conversions);
}
}
diff --git a/src/test/java/org/springframework/data/jdbc/testing/TestUtils.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestUtils.java
similarity index 100%
rename from src/test/java/org/springframework/data/jdbc/testing/TestUtils.java
rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestUtils.java
diff --git a/src/test/resources/logback.xml b/spring-data-jdbc/src/test/resources/logback.xml
similarity index 100%
rename from src/test/resources/logback.xml
rename to spring-data-jdbc/src/test/resources/logback.xml
diff --git a/src/test/resources/mysql.cnf b/spring-data-jdbc/src/test/resources/mysql.cnf
similarity index 100%
rename from src/test/resources/mysql.cnf
rename to spring-data-jdbc/src/test/resources/mysql.cnf
diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.core/ImmutableAggregateTemplateHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/ImmutableAggregateTemplateHsqlIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.core/ImmutableAggregateTemplateHsqlIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/ImmutableAggregateTemplateHsqlIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisHsqlIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisHsqlIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisHsqlIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcAuditingHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcAuditingHsqlIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcAuditingHsqlIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcAuditingHsqlIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mariadb.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mariadb.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mariadb.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mysql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mysql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mysql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-postgres.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-postgres.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-postgres.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository.query/QueryAnnotationHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.query/QueryAnnotationHsqlIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository.query/QueryAnnotationHsqlIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.query/QueryAnnotationHsqlIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mariadb.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mariadb.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mariadb.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mysql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mysql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mysql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-postgres.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-postgres.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-postgres.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mariadb.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mariadb.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mariadb.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mysql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mysql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mysql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-postgres.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-postgres.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-postgres.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mariadb.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mariadb.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mariadb.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mysql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mysql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mysql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-postgres.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-postgres.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-postgres.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mariadb.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mariadb.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mariadb.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mysql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mysql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mysql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-postgres.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-postgres.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-postgres.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mariadb.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mariadb.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mariadb.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mysql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mysql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mysql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-postgres.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-postgres.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-postgres.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mariadb.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mariadb.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mariadb.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mysql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mysql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mysql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-postgres.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-postgres.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-postgres.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mariadb.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mariadb.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mariadb.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mysql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mysql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mysql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-postgres.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-postgres.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-postgres.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-hsql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-hsql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-hsql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mariadb.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mariadb.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mariadb.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mysql.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mysql.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mysql.sql
diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-postgres.sql
similarity index 100%
rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-postgres.sql
rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-postgres.sql
diff --git a/src/test/resources/org/springframework/data/jdbc/mybatis/DummyEntityMapper.xml b/spring-data-jdbc/src/test/resources/org/springframework/data/jdbc/mybatis/DummyEntityMapper.xml
similarity index 100%
rename from src/test/resources/org/springframework/data/jdbc/mybatis/DummyEntityMapper.xml
rename to spring-data-jdbc/src/test/resources/org/springframework/data/jdbc/mybatis/DummyEntityMapper.xml
diff --git a/src/test/resources/org/springframework/data/jdbc/mybatis/mapper/DummyEntityMapper.xml b/spring-data-jdbc/src/test/resources/org/springframework/data/jdbc/mybatis/mapper/DummyEntityMapper.xml
similarity index 100%
rename from src/test/resources/org/springframework/data/jdbc/mybatis/mapper/DummyEntityMapper.xml
rename to spring-data-jdbc/src/test/resources/org/springframework/data/jdbc/mybatis/mapper/DummyEntityMapper.xml
diff --git a/spring-data-r2dbc/pom.xml b/spring-data-r2dbc/pom.xml
new file mode 100644
index 00000000..fe1f0b95
--- /dev/null
+++ b/spring-data-r2dbc/pom.xml
@@ -0,0 +1,166 @@
+
+
+
+ 4.0.0
+
+ spring-data-r2dbc
+ 1.1.0.r2dbc-SNAPSHOT
+
+ Spring Data R2DBC
+ Spring Data module for JDBC repositories.
+ http://projects.spring.io/spring-data-jdbc
+
+
+ org.springframework.data
+ spring-data-relational-parent
+ 1.1.0.r2dbc-SNAPSHOT
+
+
+
+
+ DATAR2DBC
+
+ spring.data.r2dbc
+ 42.0.0
+ 1.0.0.M5
+ 1.0.0.M5
+
+
+
+ 2018
+
+
+
+ ogierke
+ Oliver Gierke
+ ogierke(at)pivotal.io
+ Pivotal Software, Inc.
+ https://pivotal.io
+
+ Project Lead
+
+ +1
+
+
+ mpaluch
+ Mark Paluch
+ mpaluch(at)pivotal.io
+ Pivotal Software, Inc.
+ https://pivotal.io
+
+ Project Lead
+
+ +1
+
+
+
+
+
+
+ ${project.groupId}
+ spring-data-relational
+ ${project.version}
+
+
+
+ ${project.groupId}
+ spring-data-commons
+ ${springdata.commons}
+
+
+
+ org.springframework
+ spring-tx
+
+
+
+ org.springframework
+ spring-context
+
+
+
+ org.springframework
+ spring-beans
+
+
+
+ org.springframework
+ spring-jdbc
+
+
+
+ org.springframework
+ spring-core
+
+
+
+ io.r2dbc
+ r2dbc-spi
+ ${r2dbc-spi.version}
+ true
+
+
+
+ io.projectreactor
+ reactor-core
+ true
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj-core.version}
+ test
+
+
+
+ io.projectreactor
+ reactor-test
+ test
+
+
+
+ org.postgresql
+ postgresql
+ ${postgresql.version}
+ test
+
+
+
+ io.r2dbc
+ r2dbc-postgresql
+ ${r2dbc-postgresql.version}
+ test
+
+
+
+ de.schauderhaft.degraph
+ degraph-check
+ ${degraph-check.version}
+ test
+
+
+
+ org.testcontainers
+ mysql
+ ${testcontainers.version}
+ test
+
+
+ org.slf4j
+ jcl-over-slf4j
+
+
+
+
+
+ org.testcontainers
+ postgresql
+ ${testcontainers.version}
+ test
+
+
+
+
+
diff --git a/spring-data-r2dbc/src/main/java/org/springframework/data/r2dbc/repository/query/Query.java b/spring-data-r2dbc/src/main/java/org/springframework/data/r2dbc/repository/query/Query.java
new file mode 100644
index 00000000..43b451da
--- /dev/null
+++ b/spring-data-r2dbc/src/main/java/org/springframework/data/r2dbc/repository/query/Query.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2018 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.data.r2dbc.repository.query;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.springframework.data.annotation.QueryAnnotation;
+
+/**
+ * Annotation to provide SQL statements that will get used for executing the method.
+ *
+ * @author Mark Paluch
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+@QueryAnnotation
+@Documented
+public @interface Query {
+
+ /**
+ * The SQL statement to execute when the annotated method gets invoked.
+ */
+ String value();
+}
diff --git a/spring-data-r2dbc/src/test/resources/logback.xml b/spring-data-r2dbc/src/test/resources/logback.xml
new file mode 100644
index 00000000..e310de95
--- /dev/null
+++ b/spring-data-r2dbc/src/test/resources/logback.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ %d %5p %40.40c:%4L - %m%n
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-data-relational/pom.xml b/spring-data-relational/pom.xml
new file mode 100644
index 00000000..311ee2cc
--- /dev/null
+++ b/spring-data-relational/pom.xml
@@ -0,0 +1,74 @@
+
+
+
+ 4.0.0
+
+ spring-data-relational
+ 1.1.0.BUILD-SNAPSHOT
+
+ Spring Data Relational
+ Spring Data Relational support
+
+
+ org.springframework.data
+ spring-data-relational-parent
+ 1.1.0.BUILD-SNAPSHOT
+
+
+
+
+ spring.data.relational
+
+
+
+
+
+ ${project.groupId}
+ spring-data-commons
+ ${springdata.commons}
+
+
+
+ org.springframework
+ spring-tx
+
+
+
+ org.springframework
+ spring-context
+
+
+
+ org.springframework
+ spring-beans
+
+
+
+ org.springframework
+ spring-core
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj-core.version}
+ test
+
+
+
+ io.projectreactor
+ reactor-test
+ test
+
+
+
+ de.schauderhaft.degraph
+ degraph-check
+ ${degraph-check.version}
+ test
+
+
+
+
+
diff --git a/src/main/java/org/springframework/data/relational/core/conversion/AggregateChange.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/AggregateChange.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/conversion/AggregateChange.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/AggregateChange.java
diff --git a/src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java
similarity index 95%
rename from src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java
index ebdd0911..ca9c4256 100644
--- a/src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java
+++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java
@@ -27,7 +27,6 @@ import org.springframework.core.convert.support.DefaultConversionService;
import org.springframework.data.convert.CustomConversions;
import org.springframework.data.convert.CustomConversions.StoreConversions;
import org.springframework.data.convert.EntityInstantiators;
-import org.springframework.data.jdbc.core.mapping.AggregateReference;
import org.springframework.data.mapping.PersistentEntity;
import org.springframework.data.mapping.PersistentProperty;
import org.springframework.data.mapping.PersistentPropertyAccessor;
@@ -111,6 +110,10 @@ public class BasicRelationalConverter implements RelationalConverter {
return conversionService;
}
+ public CustomConversions getConversions() {
+ return conversions;
+ }
+
/*
* (non-Javadoc)
* @see org.springframework.data.relational.core.conversion.RelationalConverter#getMappingContext()
@@ -159,14 +162,6 @@ public class BasicRelationalConverter implements RelationalConverter {
return conversionService.convert(value, type.getType());
}
- if (AggregateReference.class.isAssignableFrom(type.getType())) {
-
- TypeInformation> idType = type.getSuperTypeInformation(AggregateReference.class)
- .getTypeArguments().get(1);
-
- return AggregateReference.to(readValue(value, idType));
- }
-
return getPotentiallyConvertedSimpleRead(value, type.getType());
}
@@ -182,10 +177,6 @@ public class BasicRelationalConverter implements RelationalConverter {
return null;
}
- if (AggregateReference.class.isAssignableFrom(value.getClass())) {
- return writeValue (((AggregateReference) value).getId(), type);
- }
-
Class> rawType = type.getType();
RelationalPersistentEntity> persistentEntity = context.getPersistentEntity(value.getClass());
diff --git a/src/main/java/org/springframework/data/relational/core/conversion/DbAction.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/DbAction.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/conversion/DbAction.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/DbAction.java
diff --git a/src/main/java/org/springframework/data/relational/core/conversion/DbActionExecutionException.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/DbActionExecutionException.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/conversion/DbActionExecutionException.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/DbActionExecutionException.java
diff --git a/src/main/java/org/springframework/data/relational/core/conversion/Interpreter.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/Interpreter.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/conversion/Interpreter.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/Interpreter.java
diff --git a/src/main/java/org/springframework/data/relational/core/conversion/RelationalConverter.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalConverter.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/conversion/RelationalConverter.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalConverter.java
diff --git a/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriter.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriter.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriter.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriter.java
diff --git a/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityWriter.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityWriter.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityWriter.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityWriter.java
diff --git a/src/main/java/org/springframework/data/relational/core/conversion/RelationalPropertyPath.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalPropertyPath.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/conversion/RelationalPropertyPath.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalPropertyPath.java
diff --git a/src/main/java/org/springframework/data/relational/core/conversion/package-info.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/conversion/package-info.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/package-info.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java
similarity index 94%
rename from src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java
index 66ce056b..a9fc17ac 100644
--- a/src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java
+++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java
@@ -23,8 +23,6 @@ import java.util.Map;
import java.util.Optional;
import java.util.Set;
-import org.springframework.data.jdbc.core.mapping.AggregateReference;
-import org.springframework.data.jdbc.support.JdbcUtil;
import org.springframework.data.mapping.Association;
import org.springframework.data.mapping.PersistentEntity;
import org.springframework.data.mapping.model.AnnotationBasedPersistentProperty;
@@ -43,7 +41,7 @@ import org.springframework.util.StringUtils;
* @author Greg Turnquist
* @author Florian Lüdiger
*/
-class BasicRelationalPersistentProperty extends AnnotationBasedPersistentProperty
+public class BasicRelationalPersistentProperty extends AnnotationBasedPersistentProperty
implements RelationalPersistentProperty {
private static final Map, Class>> javaToDbType = new LinkedHashMap<>();
@@ -105,7 +103,7 @@ class BasicRelationalPersistentProperty extends AnnotationBasedPersistentPropert
@Override
public boolean isReference() {
- return AggregateReference.class.isAssignableFrom(getRawType());
+ return false;
}
/*
@@ -137,7 +135,7 @@ class BasicRelationalPersistentProperty extends AnnotationBasedPersistentPropert
@Override
public int getSqlType() {
- return JdbcUtil.sqlTypeFor(getColumnType());
+ return -1;
}
@Override
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/Column.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/Column.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/Column.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/Column.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/NamingStrategy.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/NamingStrategy.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/NamingStrategy.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/NamingStrategy.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java
similarity index 87%
rename from src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java
index 31ba7249..ff4b0056 100644
--- a/src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java
+++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java
@@ -17,8 +17,6 @@ package org.springframework.data.relational.core.mapping;
import lombok.Getter;
-import org.springframework.data.jdbc.core.mapping.AggregateReference;
-import org.springframework.data.jdbc.core.mapping.JdbcSimpleTypes;
import org.springframework.data.mapping.context.AbstractMappingContext;
import org.springframework.data.mapping.context.MappingContext;
import org.springframework.data.mapping.model.Property;
@@ -58,7 +56,7 @@ public class RelationalMappingContext
this.namingStrategy = namingStrategy;
- setSimpleTypeHolder(JdbcSimpleTypes.HOLDER);
+ setSimpleTypeHolder(SimpleTypeHolder.DEFAULT);
}
/*
@@ -79,9 +77,4 @@ public class RelationalMappingContext
RelationalPersistentEntity> owner, SimpleTypeHolder simpleTypeHolder) {
return new BasicRelationalPersistentProperty(property, owner, simpleTypeHolder, this);
}
-
- @Override
- protected boolean shouldCreatePersistentEntityFor(TypeInformation> type) {
- return super.shouldCreatePersistentEntityFor(type) && !AggregateReference.class.isAssignableFrom(type.getType());
- }
}
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntity.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntity.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntity.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntity.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentProperty.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentProperty.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentProperty.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentProperty.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/Table.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/Table.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/Table.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/Table.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/AfterDeleteEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterDeleteEvent.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/AfterDeleteEvent.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterDeleteEvent.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/AfterLoadEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterLoadEvent.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/AfterLoadEvent.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterLoadEvent.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/AfterSaveEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterSaveEvent.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/AfterSaveEvent.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterSaveEvent.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeDeleteEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeDeleteEvent.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/BeforeDeleteEvent.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeDeleteEvent.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeSaveEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeSaveEvent.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/BeforeSaveEvent.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeSaveEvent.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/Identifier.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/Identifier.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/Identifier.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/Identifier.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEvent.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEvent.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEvent.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithEntity.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithEntity.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithEntity.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithEntity.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithId.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithId.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithId.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithId.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithIdAndEntity.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithIdAndEntity.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithIdAndEntity.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithIdAndEntity.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/SimpleRelationalEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/SimpleRelationalEvent.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/SimpleRelationalEvent.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/SimpleRelationalEvent.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/SpecifiedIdentifier.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/SpecifiedIdentifier.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/SpecifiedIdentifier.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/SpecifiedIdentifier.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/Unset.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/Unset.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/Unset.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/Unset.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/WithEntity.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/WithEntity.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/WithEntity.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/WithEntity.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/WithId.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/WithId.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/WithId.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/WithId.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/package-info.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/event/package-info.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/package-info.java
diff --git a/src/main/java/org/springframework/data/relational/core/mapping/package-info.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/core/mapping/package-info.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/package-info.java
diff --git a/src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java b/spring-data-relational/src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java
similarity index 95%
rename from src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java
index 623f4eca..d2d14a3e 100644
--- a/src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java
+++ b/spring-data-relational/src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java
@@ -19,7 +19,6 @@ import lombok.RequiredArgsConstructor;
import org.springframework.context.ApplicationListener;
import org.springframework.data.auditing.IsNewAwareAuditingHandler;
-import org.springframework.data.jdbc.repository.config.EnableJdbcAuditing;
import org.springframework.data.relational.core.mapping.event.BeforeSaveEvent;
/**
diff --git a/src/main/java/org/springframework/data/relational/domain/support/package-info.java b/spring-data-relational/src/main/java/org/springframework/data/relational/domain/support/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/data/relational/domain/support/package-info.java
rename to spring-data-relational/src/main/java/org/springframework/data/relational/domain/support/package-info.java
diff --git a/src/test/java/org/springframework/data/relational/core/conversion/AggregateChangeUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/AggregateChangeUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/relational/core/conversion/AggregateChangeUnitTests.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/AggregateChangeUnitTests.java
diff --git a/src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterUnitTests.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterUnitTests.java
diff --git a/src/test/java/org/springframework/data/relational/core/conversion/DbActionExecutionExceptionTest.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/DbActionExecutionExceptionTest.java
similarity index 100%
rename from src/test/java/org/springframework/data/relational/core/conversion/DbActionExecutionExceptionTest.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/DbActionExecutionExceptionTest.java
diff --git a/src/test/java/org/springframework/data/relational/core/conversion/DbActionUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/DbActionUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/relational/core/conversion/DbActionUnitTests.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/DbActionUnitTests.java
diff --git a/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriterUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriterUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriterUnitTests.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriterUnitTests.java
diff --git a/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityWriterUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityWriterUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityWriterUnitTests.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityWriterUnitTests.java
diff --git a/src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java
similarity index 87%
rename from src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java
index 8ae16569..793b2ab1 100644
--- a/src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java
+++ b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java
@@ -28,7 +28,6 @@ import java.util.UUID;
import org.assertj.core.api.SoftAssertions;
import org.junit.Test;
import org.springframework.data.annotation.Id;
-import org.springframework.data.jdbc.core.mapping.AggregateReference;
import org.springframework.data.mapping.PropertyHandler;
/**
@@ -93,26 +92,13 @@ public class BasicRelationalPersistentPropertyUnitTests {
public void detectsAnnotatedColumnAndKeyName() {
RelationalPersistentProperty listProperty = context //
- .getRequiredPersistentEntity(DummyEntity.class) //
- .getRequiredPersistentProperty("someList");
+ .getRequiredPersistentEntity(DummyEntity.class) //
+ .getRequiredPersistentProperty("someList");
assertThat(listProperty.getReverseColumnName()).isEqualTo("dummy_column_name");
assertThat(listProperty.getKeyColumn()).isEqualTo("dummy_key_column_name");
}
- @Test // DATAJDBC-221
- public void referencesAreNotEntitiesAndGetStoredAsTheirId() {
-
- SoftAssertions softly = new SoftAssertions();
-
- RelationalPersistentProperty reference = entity.getRequiredPersistentProperty("reference");
-
- softly.assertThat(reference.isEntity()).isFalse();
- softly.assertThat(reference.getColumnType()).isEqualTo(Long.class);
-
- softly.assertAll();
- }
-
private void checkTargetType(SoftAssertions softly, RelationalPersistentEntity> persistentEntity,
String propertyName, Class> expected) {
@@ -129,7 +115,6 @@ public class BasicRelationalPersistentPropertyUnitTests {
private final SomeEnum someEnum;
private final LocalDateTime localDateTime;
private final ZonedDateTime zonedDateTime;
- private final AggregateReference reference;
private final List listField;
private final UUID uuid;
diff --git a/src/test/java/org/springframework/data/relational/core/mapping/NamingStrategyUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/NamingStrategyUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/relational/core/mapping/NamingStrategyUnitTests.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/NamingStrategyUnitTests.java
diff --git a/src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java
similarity index 83%
rename from src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java
index 4c30bfd1..d2e0a1c4 100644
--- a/src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java
+++ b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java
@@ -17,10 +17,13 @@ package org.springframework.data.relational.core.mapping;
import static org.assertj.core.api.Assertions.*;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.UUID;
import org.junit.Test;
import org.springframework.data.annotation.Id;
+import org.springframework.data.mapping.model.SimpleTypeHolder;
/**
* Unit tests for {@link RelationalMappingContext}.
@@ -32,7 +35,11 @@ public class RelationalMappingContextUnitTests {
@Test // DATAJDBC-229
public void uuidPropertyIsNotEntity() {
+ SimpleTypeHolder holder = new SimpleTypeHolder(new HashSet<>(Arrays.asList(UUID.class)), true);
+
RelationalMappingContext mappingContext = new RelationalMappingContext();
+ mappingContext.setSimpleTypeHolder(holder);
+
RelationalPersistentEntity> entity = mappingContext.getPersistentEntity(EntityWithUuid.class);
RelationalPersistentProperty uuidProperty = entity.getRequiredPersistentProperty("uuid");
@@ -42,4 +49,6 @@ public class RelationalMappingContextUnitTests {
static class EntityWithUuid {
@Id UUID uuid;
}
+
+
}
diff --git a/src/test/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImplUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImplUnitTests.java
similarity index 100%
rename from src/test/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImplUnitTests.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImplUnitTests.java
diff --git a/src/test/java/org/springframework/data/relational/core/mapping/event/IdentifierTest.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/event/IdentifierTest.java
similarity index 100%
rename from src/test/java/org/springframework/data/relational/core/mapping/event/IdentifierTest.java
rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/event/IdentifierTest.java