diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/annotations/CollectionBinder.java b/hibernate-core/src/main/java/org/hibernate/cfg/annotations/CollectionBinder.java index 6615d11c09..44dca23880 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/annotations/CollectionBinder.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/annotations/CollectionBinder.java @@ -1140,7 +1140,7 @@ public abstract class CollectionBinder { if ( StringHelper.isEmpty( associationTableBinder.getName() ) ) { //default value associationTableBinder.setDefaultName( - collValue.getOwner().getEntityName(), + collValue.getOwner().getJpaEntityName(), mappings.getLogicalTableName( collValue.getOwner().getTable() ), collectionEntity != null ? collectionEntity.getEntityName() : null, collectionEntity != null ? mappings.getLogicalTableName( collectionEntity.getTable() ) : null, diff --git a/hibernate-core/src/test/java/org/hibernate/test/annotations/collectionelement/CollectionElementTest.java b/hibernate-core/src/test/java/org/hibernate/test/annotations/collectionelement/CollectionElementTest.java index 0795794bff..b3cae24462 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/annotations/collectionelement/CollectionElementTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/annotations/collectionelement/CollectionElementTest.java @@ -36,6 +36,7 @@ import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.mapping.Collection; import org.hibernate.mapping.Column; +import org.hibernate.mapping.Table; import org.hibernate.test.annotations.Country; import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; @@ -260,6 +261,13 @@ public class CollectionElementTest extends BaseCoreFunctionalTestCase { isCollectionColumnPresent( Boy.class.getName(), "hatedNames", "Boy_id" ); } + @Test + public void testDefaultTableNameUsesJpaEntityName() { + final Collection collection = configuration().getCollectionMapping( Matrix.class.getName() + "." + "mvalues" ); + final Table table = collection.getCollectionTable(); + assertEquals( "Mtx_mvalues", table.getName() ); + } + private void isLegacyValueCollectionColumnPresent(String collectionHolder, String propertyName) { } diff --git a/hibernate-core/src/test/java/org/hibernate/test/annotations/collectionelement/Matrix.java b/hibernate-core/src/test/java/org/hibernate/test/annotations/collectionelement/Matrix.java index 09a4828451..84d719b5f1 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/annotations/collectionelement/Matrix.java +++ b/hibernate-core/src/test/java/org/hibernate/test/annotations/collectionelement/Matrix.java @@ -17,7 +17,7 @@ import org.hibernate.annotations.Type; /** * @author Emmanuel Bernard */ -@Entity +@Entity(name="Mtx") public class Matrix { @Id @GeneratedValue