From 076bbf45d223f5407b9c7df0532ec0ad2e111eaa Mon Sep 17 00:00:00 2001 From: Jon Brisbin Date: Tue, 1 May 2012 09:50:56 -0500 Subject: [PATCH] Fixed bug with id and version attributes being included in "embedded" attributes. --- .../data/rest/repository/jpa/JpaEntityMetadata.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-data-rest-repository/src/main/java/org/springframework/data/rest/repository/jpa/JpaEntityMetadata.java b/spring-data-rest-repository/src/main/java/org/springframework/data/rest/repository/jpa/JpaEntityMetadata.java index 1d8e57543..a60efb709 100644 --- a/spring-data-rest-repository/src/main/java/org/springframework/data/rest/repository/jpa/JpaEntityMetadata.java +++ b/spring-data-rest-repository/src/main/java/org/springframework/data/rest/repository/jpa/JpaEntityMetadata.java @@ -5,6 +5,7 @@ import java.util.Map; import javax.persistence.metamodel.Attribute; import javax.persistence.metamodel.EntityType; import javax.persistence.metamodel.PluralAttribute; +import javax.persistence.metamodel.SingularAttribute; import org.springframework.data.repository.support.Repositories; import org.springframework.data.rest.repository.EntityMetadata; @@ -35,7 +36,8 @@ public class JpaEntityMetadata implements EntityMetadata { if (repositories.hasRepositoryFor(attrType)) { linkedAttributes.put(attr.getName(), new JpaAttributeMetadata(entityType, attr)); } else { - if (attr != idAttribute && attr != versionAttribute) { + if (!(attr instanceof SingularAttribute && ((SingularAttribute) attr).isId()) + && !(attr instanceof SingularAttribute && ((SingularAttribute) attr).isVersion())) { embeddedAttributes.put(attr.getName(), new JpaAttributeMetadata(entityType, attr)); } }