From 81d211d12a0d2336259ad1df857393af4f3e6494 Mon Sep 17 00:00:00 2001 From: Gail Badner Date: Thu, 23 Jun 2016 14:10:37 -0700 Subject: [PATCH] HHH-10888 : PluralAttribute#isAssociation returns true for @ElementCollection (cherry picked from commit cdd7fb66c841caa8a91f3b7712eca011aa80eb6a) --- .../hibernate/jpa/internal/metamodel/PluralAttributeImpl.java | 3 ++- .../java/org/hibernate/jpa/test/metadata/MetadataTest.java | 2 +- .../org/hibernate/jpa/test/metadata/StaticMetadataTest.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/metamodel/PluralAttributeImpl.java b/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/metamodel/PluralAttributeImpl.java index b3a51ed682..1ac6cbb9ea 100644 --- a/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/metamodel/PluralAttributeImpl.java +++ b/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/metamodel/PluralAttributeImpl.java @@ -146,7 +146,8 @@ public abstract class PluralAttributeImpl @Override public boolean isAssociation() { - return true; + return getPersistentAttributeType() == PersistentAttributeType.ONE_TO_MANY + || getPersistentAttributeType() == PersistentAttributeType.MANY_TO_MANY; } @Override diff --git a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/MetadataTest.java b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/MetadataTest.java index 9aeda08bc0..1333b2850d 100644 --- a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/MetadataTest.java +++ b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/MetadataTest.java @@ -277,7 +277,7 @@ public class MetadataTest extends BaseEntityManagerFunctionalTestCase { final EntityType entityType = entityManagerFactory().getMetamodel().entity( House.class ); final SetAttribute rooms = entityType.getDeclaredSet( "rooms", Room.class ); assertNotNull( rooms ); - assertTrue( rooms.isAssociation() ); + assertFalse( rooms.isAssociation() ); assertTrue( rooms.isCollection() ); assertEquals( Attribute.PersistentAttributeType.ELEMENT_COLLECTION, rooms.getPersistentAttributeType() ); assertEquals( Room.class, rooms.getBindableJavaType() ); diff --git a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/StaticMetadataTest.java b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/StaticMetadataTest.java index 0b448edacc..454bcc84b9 100644 --- a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/StaticMetadataTest.java +++ b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/StaticMetadataTest.java @@ -87,7 +87,7 @@ public class StaticMetadataTest extends BaseEntityManagerFunctionalTestCase { assertFalse( House_.address.isCollection() ); assertFalse( House_.address.isAssociation() ); assertNotNull( House_.rooms ); - assertTrue( House_.rooms.isAssociation() ); + assertFalse( House_.rooms.isAssociation() ); assertTrue( House_.rooms.isCollection() ); assertEquals( Attribute.PersistentAttributeType.ELEMENT_COLLECTION, House_.rooms.getPersistentAttributeType() ); assertEquals( Room.class, House_.rooms.getBindableJavaType() );