The name of the entity returned by the JPA2 meta-model EntityType.getName() is now PersistentClass.nodeName.
This guarantees that EntityType.getName() == @Entity.name for classes annotated with JPA2.
This commit is contained in:
parent
722f96a9c5
commit
b48c5b601c
|
@ -33,20 +33,20 @@ import javax.persistence.metamodel.EntityType;
|
|||
public class EntityTypeImpl<X>
|
||||
extends AbstractIdentifiableType<X>
|
||||
implements EntityType<X>, Serializable {
|
||||
private final String className;
|
||||
private final String nodeName;
|
||||
|
||||
public EntityTypeImpl(
|
||||
Class<X> javaType,
|
||||
AbstractIdentifiableType<? super X> superType,
|
||||
String className,
|
||||
String nodeName,
|
||||
boolean hasIdentifierProperty,
|
||||
boolean isVersioned) {
|
||||
super( javaType, superType, hasIdentifierProperty, isVersioned );
|
||||
this.className = className;
|
||||
this.nodeName = nodeName;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return className;
|
||||
return nodeName;
|
||||
}
|
||||
|
||||
public BindableType getBindableType() {
|
||||
|
|
|
@ -94,7 +94,7 @@ public class MetamodelImpl implements Metamodel, Serializable {
|
|||
EntityTypeImpl entityType = new EntityTypeImpl(
|
||||
javaType,
|
||||
superType,
|
||||
persistentClass.getClassName(),
|
||||
persistentClass.getNodeName(),
|
||||
persistentClass.hasIdentifierProperty(),
|
||||
persistentClass.isVersioned()
|
||||
);
|
||||
|
@ -102,7 +102,7 @@ public class MetamodelImpl implements Metamodel, Serializable {
|
|||
context.popEntityWorkedOn(persistentClass);
|
||||
return entityType;
|
||||
}
|
||||
|
||||
|
||||
private static MappedSuperclassTypeImpl<?> locateOrBuildMappedsuperclassType(
|
||||
MappedSuperclass mappedSuperclass, MetadataContext context) {
|
||||
MappedSuperclassTypeImpl<?> mappedSuperclassType = context.locateMappedSuperclassType( mappedSuperclass );
|
||||
|
|
|
@ -37,7 +37,7 @@ import javax.persistence.OrderColumn;
|
|||
/**
|
||||
* @author Emmanuel Bernard
|
||||
*/
|
||||
@Entity
|
||||
@Entity(name="org.hibernate.ejb.test.metadata.House")
|
||||
public class House {
|
||||
private Key key;
|
||||
private Address address;
|
||||
|
|
|
@ -97,7 +97,7 @@ public class MetadataTest extends TestCase {
|
|||
final SingularAttribute<? super Fridge, Long> id2 = fridgeType.getId( Long.class );
|
||||
assertNotNull( id2 );
|
||||
|
||||
assertEquals( Fridge.class.getName(), fridgeType.getName() );
|
||||
assertEquals( "Fridge", fridgeType.getName() );
|
||||
assertEquals( Long.class, fridgeType.getIdType().getJavaType() );
|
||||
assertTrue( fridgeType.hasSingleIdAttribute() );
|
||||
assertFalse( fridgeType.hasVersionAttribute() );
|
||||
|
@ -106,6 +106,7 @@ public class MetadataTest extends TestCase {
|
|||
assertEquals( 3, fridgeType.getDeclaredAttributes().size() );
|
||||
|
||||
final EntityType<House> houseType = factory.getMetamodel().entity( House.class );
|
||||
assertEquals( "org.hibernate.ejb.test.metadata.House", houseType.getName() );
|
||||
assertTrue( houseType.hasSingleIdAttribute() );
|
||||
final SingularAttribute<House, House.Key> houseId = houseType.getDeclaredId( House.Key.class );
|
||||
assertNotNull( houseId );
|
||||
|
@ -113,6 +114,7 @@ public class MetadataTest extends TestCase {
|
|||
assertEquals( Attribute.PersistentAttributeType.EMBEDDED, houseId.getPersistentAttributeType() );
|
||||
|
||||
final EntityType<Person> personType = factory.getMetamodel().entity( Person.class );
|
||||
assertEquals( "Homo", personType.getName() );
|
||||
assertFalse( personType.hasSingleIdAttribute() );
|
||||
final Set<SingularAttribute<? super Person,?>> ids = personType.getIdClassAttributes();
|
||||
assertNotNull( ids );
|
||||
|
|
|
@ -32,7 +32,7 @@ import javax.persistence.Entity;
|
|||
* @author Emmanuel Bernard
|
||||
*/
|
||||
@IdClass(Person.PersonPK.class)
|
||||
@Entity
|
||||
@Entity(name="Homo") //Person in latin ;)
|
||||
public class Person {
|
||||
private String firstName;
|
||||
private String lastName;
|
||||
|
|
Loading…
Reference in New Issue