diff --git a/hibernate-core/src/test/java/org/hibernate/test/legacy/ABCProxyTest.java b/hibernate-core/src/test/java/org/hibernate/test/legacy/ABCProxyTest.java index a0b77e1509..6b085a9e6f 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/legacy/ABCProxyTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/legacy/ABCProxyTest.java @@ -36,6 +36,7 @@ import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.dialect.HSQLDialect; import org.hibernate.testing.FailureExpectedWithNewMetamodel; +import org.hibernate.testing.SkipForDialect; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -49,8 +50,8 @@ public class ABCProxyTest extends LegacyTestCase { } @Test + @SkipForDialect( HSQLDialect.class ) public void testDiscriminatorFiltering() throws Exception { - if ( ( getDialect() instanceof HSQLDialect ) ) return; Session s = openSession(); Transaction t = s.beginTransaction(); s.createQuery("from C1 c1 left join c1.c2s c2").list(); diff --git a/hibernate-core/src/test/java/org/hibernate/test/namingstrategy/NamingStrategyTest.java b/hibernate-core/src/test/java/org/hibernate/test/namingstrategy/NamingStrategyTest.java index 4e5071e1bc..0317426d94 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/namingstrategy/NamingStrategyTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/namingstrategy/NamingStrategyTest.java @@ -28,17 +28,25 @@ import org.junit.Test; import org.hibernate.cfg.Configuration; import org.hibernate.mapping.Column; import org.hibernate.mapping.PersistentClass; +import org.hibernate.metamodel.spi.binding.AttributeBinding; +import org.hibernate.metamodel.spi.binding.EntityBinding; +import org.hibernate.metamodel.spi.binding.RelationalValueBinding; +import org.hibernate.metamodel.spi.binding.SingularAttributeBinding; +import org.hibernate.metamodel.spi.relational.Table; import org.hibernate.testing.FailureExpectedWithNewMetamodel; import org.hibernate.testing.TestForIssue; import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; /** * @author Emmanuel Bernard * @author Lukasz Antoniak (lukasz dot antoniak at gmail dot com) */ -@FailureExpectedWithNewMetamodel +//@FailureExpectedWithNewMetamodel public class NamingStrategyTest extends BaseCoreFunctionalTestCase { @Override public void configure(Configuration cfg) { @@ -62,18 +70,63 @@ public class NamingStrategyTest extends BaseCoreFunctionalTestCase { @Test public void testDatabaseColumnNames() { - PersistentClass classMapping = configuration().getClassMapping( Customers.class.getName() ); - Column stateColumn = (Column) classMapping.getProperty( "specified_column" ).getColumnIterator().next(); - assertEquals( "CN_specified_column", stateColumn.getName() ); + if ( isMetadataUsed() ) { + EntityBinding entityBinding = metadata().getEntityBinding( Customers.class.getName() ); + assertNotNull( entityBinding ); + AttributeBinding attributeBinding = entityBinding.locateAttributeBinding( "specified_column" ); + assertNotNull( attributeBinding ); + assertTrue( SingularAttributeBinding.class.isInstance( attributeBinding ) ); + SingularAttributeBinding singularAttributeBinding = (SingularAttributeBinding) attributeBinding; + assertEquals( 1, singularAttributeBinding.getRelationalValueBindings().size() ); + RelationalValueBinding valueBinding = singularAttributeBinding.getRelationalValueBindings().get( 0 ); + assertFalse( valueBinding.isDerived() ); + org.hibernate.metamodel.spi.relational.Column column = (org.hibernate.metamodel.spi.relational.Column) valueBinding + .getValue(); + assertEquals( "CN_specified_column", column.getColumnName().getText() ); + + } + else { + PersistentClass classMapping = configuration().getClassMapping( Customers.class.getName() ); + Column stateColumn = (Column) classMapping.getProperty( "specified_column" ).getColumnIterator().next(); + assertEquals( "CN_specified_column", stateColumn.getName() ); + } } - @Test - @TestForIssue(jiraKey = "HHH-5848") - public void testDatabaseTableNames() { - PersistentClass classMapping = configuration().getClassMapping( Item.class.getName() ); - Column secTabColumn = (Column) classMapping.getProperty( "specialPrice" ).getColumnIterator().next(); - assertEquals( "TAB_ITEMS_SEC", secTabColumn.getValue().getTable().getName() ); - Column tabColumn = (Column) classMapping.getProperty( "price" ).getColumnIterator().next(); - assertEquals( "TAB_ITEMS", tabColumn.getValue().getTable().getName() ); - } + @Test + @TestForIssue(jiraKey = "HHH-5848") + public void testDatabaseTableNames() { + if ( isMetadataUsed() ) { + EntityBinding entityBinding = metadata().getEntityBinding( Item.class.getName() ); + assertNotNull( entityBinding ); + AttributeBinding attributeBinding = entityBinding.locateAttributeBinding( "specialPrice" ); + assertNotNull( attributeBinding ); + assertTrue( SingularAttributeBinding.class.isInstance( attributeBinding ) ); + SingularAttributeBinding singularAttributeBinding = (SingularAttributeBinding) attributeBinding; + assertEquals( 1, singularAttributeBinding.getRelationalValueBindings().size() ); + RelationalValueBinding valueBinding = singularAttributeBinding.getRelationalValueBindings().get( 0 ); + assertFalse( valueBinding.isDerived() ); + org.hibernate.metamodel.spi.relational.Column column = (org.hibernate.metamodel.spi.relational.Column) valueBinding + .getValue(); + Table table = (Table)column.getTable(); + + assertEquals( "TAB_ITEMS_SEC", table.getPhysicalName().getText() ); + + singularAttributeBinding = (SingularAttributeBinding)entityBinding.locateAttributeBinding( "price" ); + assertEquals( 1, singularAttributeBinding.getRelationalValueBindings().size() ); + valueBinding = singularAttributeBinding.getRelationalValueBindings().get( 0 ); + assertFalse( valueBinding.isDerived() ); + column = (org.hibernate.metamodel.spi.relational.Column) valueBinding + .getValue(); + table = (Table)column.getTable(); + assertEquals( "TAB_ITEMS", table.getPhysicalName().getText()); + + } + else { + PersistentClass classMapping = configuration().getClassMapping( Item.class.getName() ); + Column secTabColumn = (Column) classMapping.getProperty( "specialPrice" ).getColumnIterator().next(); + assertEquals( "TAB_ITEMS_SEC", secTabColumn.getValue().getTable().getName() ); + Column tabColumn = (Column) classMapping.getProperty( "price" ).getColumnIterator().next(); + assertEquals( "TAB_ITEMS", tabColumn.getValue().getTable().getName() ); + } + } }