@@ -44,6 +44,7 @@ import org.springframework.data.mapping.model.SimpleTypeHolder;
|
||||
import org.springframework.data.relational.RelationalManagedTypes;
|
||||
import org.springframework.data.relational.core.conversion.RelationalConverter;
|
||||
import org.springframework.data.relational.core.dialect.Dialect;
|
||||
import org.springframework.data.relational.core.mapping.DefaultNamingStrategy;
|
||||
import org.springframework.data.relational.core.mapping.NamingStrategy;
|
||||
import org.springframework.data.relational.core.mapping.Table;
|
||||
import org.springframework.data.util.TypeScanner;
|
||||
@@ -100,7 +101,7 @@ public class AbstractJdbcConfiguration implements ApplicationContextAware {
|
||||
/**
|
||||
* Register a {@link JdbcMappingContext} and apply an optional {@link NamingStrategy}.
|
||||
*
|
||||
* @param namingStrategy optional {@link NamingStrategy}. Use {@link NamingStrategy#INSTANCE} as fallback.
|
||||
* @param namingStrategy optional {@link NamingStrategy}. Use {@link org.springframework.data.relational.core.mapping.DefaultNamingStrategy#INSTANCE} as fallback.
|
||||
* @param customConversions see {@link #jdbcCustomConversions()}.
|
||||
* @param jdbcManagedTypes JDBC managed types, typically discovered through {@link #jdbcManagedTypes() an entity
|
||||
* scan}.
|
||||
@@ -110,7 +111,7 @@ public class AbstractJdbcConfiguration implements ApplicationContextAware {
|
||||
public JdbcMappingContext jdbcMappingContext(Optional<NamingStrategy> namingStrategy,
|
||||
JdbcCustomConversions customConversions, RelationalManagedTypes jdbcManagedTypes) {
|
||||
|
||||
JdbcMappingContext mappingContext = new JdbcMappingContext(namingStrategy.orElse(NamingStrategy.INSTANCE));
|
||||
JdbcMappingContext mappingContext = new JdbcMappingContext(namingStrategy.orElse(DefaultNamingStrategy.INSTANCE));
|
||||
mappingContext.setSimpleTypeHolder(customConversions.getSimpleTypeHolder());
|
||||
mappingContext.setManagedTypes(jdbcManagedTypes);
|
||||
|
||||
|
||||
@@ -42,7 +42,6 @@ import org.springframework.data.jdbc.core.convert.RelationResolver;
|
||||
import org.springframework.data.mapping.callback.EntityCallbacks;
|
||||
import org.springframework.data.relational.core.conversion.MutableAggregateChange;
|
||||
import org.springframework.data.relational.core.mapping.Column;
|
||||
import org.springframework.data.relational.core.mapping.NamingStrategy;
|
||||
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
|
||||
import org.springframework.data.relational.core.mapping.event.AfterConvertCallback;
|
||||
import org.springframework.data.relational.core.mapping.event.AfterDeleteCallback;
|
||||
@@ -72,7 +71,7 @@ public class JdbcAggregateTemplateUnitTests {
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
|
||||
RelationalMappingContext mappingContext = new RelationalMappingContext(NamingStrategy.INSTANCE);
|
||||
RelationalMappingContext mappingContext = new RelationalMappingContext();
|
||||
JdbcConverter converter = new BasicJdbcConverter(mappingContext, relationResolver);
|
||||
|
||||
template = new JdbcAggregateTemplate(eventPublisher, mappingContext, converter, dataAccessStrategy);
|
||||
|
||||
@@ -54,6 +54,7 @@ import org.springframework.data.annotation.Transient;
|
||||
import org.springframework.data.jdbc.core.mapping.AggregateReference;
|
||||
import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
|
||||
import org.springframework.data.mapping.PersistentPropertyPath;
|
||||
import org.springframework.data.relational.core.mapping.DefaultNamingStrategy;
|
||||
import org.springframework.data.relational.core.mapping.Embedded;
|
||||
import org.springframework.data.relational.core.mapping.Embedded.OnEmpty;
|
||||
import org.springframework.data.relational.core.mapping.NamingStrategy;
|
||||
@@ -847,7 +848,7 @@ public class EntityRowMapperUnitTests {
|
||||
}
|
||||
|
||||
private <T> EntityRowMapper<T> createRowMapper(Class<T> type) {
|
||||
return createRowMapper(type, NamingStrategy.INSTANCE);
|
||||
return createRowMapper(type, DefaultNamingStrategy.INSTANCE);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
|
||||
import org.springframework.data.relational.core.mapping.DefaultNamingStrategy;
|
||||
import org.springframework.data.relational.core.mapping.NamingStrategy;
|
||||
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
|
||||
|
||||
@@ -36,9 +37,9 @@ import org.springframework.data.relational.core.mapping.RelationalPersistentEnti
|
||||
* @author Jens Schauder
|
||||
* @author Mark Paluch
|
||||
*/
|
||||
public class NamingStrategyUnitTests {
|
||||
public class DefaultNamingStrategyUnitTests {
|
||||
|
||||
private final NamingStrategy target = NamingStrategy.INSTANCE;
|
||||
private final NamingStrategy target = DefaultNamingStrategy.INSTANCE;
|
||||
|
||||
private final RelationalPersistentEntity<?> persistentEntity = //
|
||||
new JdbcMappingContext(target).getRequiredPersistentEntity(DummyEntity.class);
|
||||
@@ -41,6 +41,7 @@ import org.springframework.data.jdbc.repository.config.DialectResolver;
|
||||
import org.springframework.data.jdbc.repository.support.JdbcRepositoryFactory;
|
||||
import org.springframework.data.mapping.model.SimpleTypeHolder;
|
||||
import org.springframework.data.relational.core.dialect.Dialect;
|
||||
import org.springframework.data.relational.core.mapping.DefaultNamingStrategy;
|
||||
import org.springframework.data.relational.core.mapping.NamingStrategy;
|
||||
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
|
||||
import org.springframework.data.repository.core.NamedQueries;
|
||||
@@ -114,7 +115,7 @@ public class TestConfiguration {
|
||||
@Bean
|
||||
JdbcMappingContext jdbcMappingContext(Optional<NamingStrategy> namingStrategy, CustomConversions conversions) {
|
||||
|
||||
JdbcMappingContext mappingContext = new JdbcMappingContext(namingStrategy.orElse(NamingStrategy.INSTANCE));
|
||||
JdbcMappingContext mappingContext = new JdbcMappingContext(namingStrategy.orElse(DefaultNamingStrategy.INSTANCE));
|
||||
mappingContext.setSimpleTypeHolder(conversions.getSimpleTypeHolder());
|
||||
return mappingContext;
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ import org.springframework.data.r2dbc.dialect.R2dbcDialect;
|
||||
import org.springframework.data.r2dbc.mapping.R2dbcMappingContext;
|
||||
import org.springframework.data.relational.RelationalManagedTypes;
|
||||
import org.springframework.data.relational.core.conversion.BasicRelationalConverter;
|
||||
import org.springframework.data.relational.core.mapping.DefaultNamingStrategy;
|
||||
import org.springframework.data.relational.core.mapping.NamingStrategy;
|
||||
import org.springframework.data.relational.core.mapping.Table;
|
||||
import org.springframework.data.util.TypeScanner;
|
||||
@@ -57,6 +58,7 @@ import org.springframework.util.StringUtils;
|
||||
* R2DBC to work.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
* @author Jens Schauder
|
||||
* @see ConnectionFactory
|
||||
* @see DatabaseClient
|
||||
* @see org.springframework.data.r2dbc.repository.config.EnableR2dbcRepositories
|
||||
@@ -161,7 +163,7 @@ public abstract class AbstractR2dbcConfiguration implements ApplicationContextAw
|
||||
/**
|
||||
* Register a {@link R2dbcMappingContext} and apply an optional {@link NamingStrategy}.
|
||||
*
|
||||
* @param namingStrategy optional {@link NamingStrategy}. Use {@link NamingStrategy#INSTANCE} as fallback.
|
||||
* @param namingStrategy optional {@link NamingStrategy}. Use {@link DefaultNamingStrategy#INSTANCE} as fallback.
|
||||
* @param r2dbcCustomConversions customized R2DBC conversions.
|
||||
* @param r2dbcManagedTypes R2DBC managed types, typically discovered through {@link #r2dbcManagedTypes() an entity
|
||||
* scan}.
|
||||
@@ -174,7 +176,7 @@ public abstract class AbstractR2dbcConfiguration implements ApplicationContextAw
|
||||
|
||||
Assert.notNull(namingStrategy, "NamingStrategy must not be null");
|
||||
|
||||
R2dbcMappingContext context = new R2dbcMappingContext(namingStrategy.orElse(NamingStrategy.INSTANCE));
|
||||
R2dbcMappingContext context = new R2dbcMappingContext(namingStrategy.orElse(DefaultNamingStrategy.INSTANCE));
|
||||
context.setSimpleTypeHolder(r2dbcCustomConversions.getSimpleTypeHolder());
|
||||
context.setManagedTypes(r2dbcManagedTypes);
|
||||
|
||||
|
||||
@@ -25,6 +25,19 @@ import org.springframework.util.Assert;
|
||||
*/
|
||||
public class DefaultNamingStrategy implements NamingStrategy {
|
||||
|
||||
/**
|
||||
* Static immutable instance of the class. It is made immutable by letting
|
||||
* {@link #setForeignKeyNaming(ForeignKeyNaming)} throw an exception.
|
||||
* <p>
|
||||
* Using this avoids creating essentially the same class over and over again.
|
||||
*/
|
||||
public static NamingStrategy INSTANCE = new DefaultNamingStrategy() {
|
||||
@Override
|
||||
public void setForeignKeyNaming(ForeignKeyNaming foreignKeyNaming) {
|
||||
throw new UnsupportedOperationException("Cannot update immutable DefaultNamingStrategy");
|
||||
}
|
||||
};
|
||||
|
||||
private ForeignKeyNaming foreignKeyNaming = ForeignKeyNaming.APPLY_RENAMING;
|
||||
|
||||
public void setForeignKeyNaming(ForeignKeyNaming foreignKeyNaming) {
|
||||
|
||||
@@ -41,12 +41,7 @@ public interface NamingStrategy {
|
||||
*
|
||||
* @deprecated use {@link DefaultNamingStrategy#INSTANCE} instead.
|
||||
*/
|
||||
@Deprecated(since = "2.4") NamingStrategy INSTANCE = new DefaultNamingStrategy() {
|
||||
@Override
|
||||
public void setForeignKeyNaming(ForeignKeyNaming foreignKeyNaming) {
|
||||
throw new UnsupportedOperationException("Cannot update immutable DefaultNamingStrategy");
|
||||
}
|
||||
};
|
||||
@Deprecated(since = "2.4", forRemoval = true) NamingStrategy INSTANCE = DefaultNamingStrategy.INSTANCE;
|
||||
|
||||
/**
|
||||
* Defaults to no schema.
|
||||
|
||||
@@ -31,9 +31,9 @@ import org.springframework.data.relational.core.mapping.RelationalPersistentEnti
|
||||
* @author Oliver Gierke
|
||||
* @author Jens Schauder
|
||||
*/
|
||||
public class NamingStrategyUnitTests {
|
||||
public class DefaultNamingStrategyUnitTests {
|
||||
|
||||
private final NamingStrategy target = NamingStrategy.INSTANCE;
|
||||
private final NamingStrategy target = DefaultNamingStrategy.INSTANCE;
|
||||
private final RelationalMappingContext context = new RelationalMappingContext(target);
|
||||
private final RelationalPersistentEntity<?> persistentEntity = context.getRequiredPersistentEntity(DummyEntity.class);
|
||||
|
||||
Reference in New Issue
Block a user