Spring Data JPA

org.springframework.data.jpa.repository.support
Class JpaMetamodelEntityInformation<T,ID extends Serializable>

java.lang.Object
  extended by org.springframework.data.repository.core.support.AbstractEntityInformation<T,ID>
      extended by org.springframework.data.jpa.repository.support.JpaEntityInformationSupport<T,ID>
          extended by org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation<T,ID>
All Implemented Interfaces:
JpaEntityInformation<T,ID>, EntityInformation<T,ID>, EntityMetadata<T>
Direct Known Subclasses:
JpaPersistableEntityInformation

public class JpaMetamodelEntityInformation<T,ID extends Serializable>
extends JpaEntityInformationSupport<T,ID>

Implementation of EntityInformation that uses JPA Metamodel to find the domain class' id field.

Author:
Oliver Gierke, Thomas Darimont

Constructor Summary
JpaMetamodelEntityInformation(Class<T> domainClass, javax.persistence.metamodel.Metamodel metamodel)
          Creates a new JpaMetamodelEntityInformation for the given domain class and Metamodel.
 
Method Summary
 Object getCompositeIdAttributeValue(Serializable id, String idAttribute)
          Extracts the value for the given id attribute from a composite id
 ID getId(T entity)
           
 javax.persistence.metamodel.SingularAttribute<? super T,?> getIdAttribute()
          Returns the id attribute of the entity.
 Iterable<String> getIdAttributeNames()
          Returns the attribute names of the id attributes.
 Class<ID> getIdType()
           
 boolean hasCompositeId()
          Returns true if the entity has a composite id
 
Methods inherited from class org.springframework.data.jpa.repository.support.JpaEntityInformationSupport
getEntityName, getMetadata
 
Methods inherited from class org.springframework.data.repository.core.support.AbstractEntityInformation
getJavaType, isNew
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.data.repository.core.EntityInformation
isNew
 
Methods inherited from interface org.springframework.data.repository.core.EntityMetadata
getJavaType
 

Constructor Detail

JpaMetamodelEntityInformation

public JpaMetamodelEntityInformation(Class<T> domainClass,
                                     javax.persistence.metamodel.Metamodel metamodel)
Creates a new JpaMetamodelEntityInformation for the given domain class and Metamodel.

Parameters:
domainClass - must not be null.
metamodel - must not be null.
Method Detail

getId

public ID getId(T entity)

getIdType

public Class<ID> getIdType()

getIdAttribute

public javax.persistence.metamodel.SingularAttribute<? super T,?> getIdAttribute()
Description copied from interface: JpaEntityInformation
Returns the id attribute of the entity.

Returns:

hasCompositeId

public boolean hasCompositeId()
Description copied from interface: JpaEntityInformation
Returns true if the entity has a composite id

Returns:

getIdAttributeNames

public Iterable<String> getIdAttributeNames()
Description copied from interface: JpaEntityInformation
Returns the attribute names of the id attributes. If the entity has a composite id, then all id attribute names are returned. If the entity has a single id attribute then this single attribute name is returned.

Returns:

getCompositeIdAttributeValue

public Object getCompositeIdAttributeValue(Serializable id,
                                           String idAttribute)
Description copied from interface: JpaEntityInformation
Extracts the value for the given id attribute from a composite id

Returns:

Spring Data JPA

Copyright © 2011-2013-2013 SpringSource. All Rights Reserved.