HHH-12406 : Add a test for HHH-11440
(cherry picked from commit 83e95d7681
)
This commit is contained in:
parent
d2a796f04a
commit
b41b861982
|
@ -21,12 +21,15 @@ import org.hibernate.tool.hbm2ddl.SchemaValidator;
|
||||||
import org.hibernate.tool.schema.JdbcMetadaAccessStrategy;
|
import org.hibernate.tool.schema.JdbcMetadaAccessStrategy;
|
||||||
|
|
||||||
import org.hibernate.testing.RequiresDialect;
|
import org.hibernate.testing.RequiresDialect;
|
||||||
|
import org.hibernate.testing.TestForIssue;
|
||||||
import org.hibernate.testing.junit4.BaseNonConfigCoreFunctionalTestCase;
|
import org.hibernate.testing.junit4.BaseNonConfigCoreFunctionalTestCase;
|
||||||
import org.hibernate.testing.transaction.TransactionUtil;
|
import org.hibernate.testing.transaction.TransactionUtil;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows the BaseCoreFunctionalTestCase to create the schema using TestEntity. The test method validates against an
|
* Allows the BaseCoreFunctionalTestCase to create the schema using TestEntity. The test method validates against an
|
||||||
* identical entity, but using the synonym name.
|
* identical entity, but using the synonym name.
|
||||||
|
@ -80,6 +83,51 @@ public class SynonymValidationTest extends BaseNonConfigCoreFunctionalTestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestForIssue( jiraKey = "HHH-12406")
|
||||||
|
public void testSynonymUsingDefaultStrategySchemaValidator() {
|
||||||
|
// Hibernate should use JdbcMetadaAccessStrategy.INDIVIDUALLY when
|
||||||
|
// AvailableSettings.ENABLE_SYNONYMS is true.
|
||||||
|
ssr = new StandardServiceRegistryBuilder()
|
||||||
|
.applySetting( AvailableSettings.ENABLE_SYNONYMS, "true" )
|
||||||
|
.build();
|
||||||
|
try {
|
||||||
|
final MetadataSources metadataSources = new MetadataSources( ssr );
|
||||||
|
metadataSources.addAnnotatedClass( TestEntityWithSynonym.class );
|
||||||
|
metadataSources.addAnnotatedClass( TestEntity.class );
|
||||||
|
|
||||||
|
new SchemaValidator().validate( metadataSources.buildMetadata() );
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
StandardServiceRegistryBuilder.destroy( ssr );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestForIssue( jiraKey = "HHH-12406")
|
||||||
|
public void testSynonymUsingGroupedSchemaValidator() {
|
||||||
|
// Hibernate should use JdbcMetadaAccessStrategy.INDIVIDUALLY when
|
||||||
|
// AvailableSettings.ENABLE_SYNONYMS is true,
|
||||||
|
// even if JdbcMetadaAccessStrategy.GROUPED is specified.
|
||||||
|
ssr = new StandardServiceRegistryBuilder()
|
||||||
|
.applySetting( AvailableSettings.ENABLE_SYNONYMS, "true" )
|
||||||
|
.applySetting(
|
||||||
|
AvailableSettings.HBM2DDL_JDBC_METADATA_EXTRACTOR_STRATEGY,
|
||||||
|
JdbcMetadaAccessStrategy.GROUPED
|
||||||
|
)
|
||||||
|
.build();
|
||||||
|
try {
|
||||||
|
final MetadataSources metadataSources = new MetadataSources( ssr );
|
||||||
|
metadataSources.addAnnotatedClass( TestEntityWithSynonym.class );
|
||||||
|
metadataSources.addAnnotatedClass( TestEntity.class );
|
||||||
|
|
||||||
|
new SchemaValidator().validate( metadataSources.buildMetadata() );
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
StandardServiceRegistryBuilder.destroy( ssr );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "test_entity")
|
@Table(name = "test_entity")
|
||||||
private static class TestEntity {
|
private static class TestEntity {
|
||||||
|
|
Loading…
Reference in New Issue