From 1aac6809ead8b05d80db2d645a96bc97b3f2b65b Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Mon, 10 Nov 2014 14:37:36 +0100 Subject: [PATCH] DATAJPA-605 - JpaPersistentProperty implementation now detects JPA's @Version annotation. Added override for JpaPersistentPropertyImpl.isVersionProperty() to also consider properties annotated with JPA's @Version annotation as version property. Related pull request: #108. --- .../mapping/JpaPersistentPropertyImpl.java | 10 +++++++ .../JpaPersistentPropertyImplUnitTests.java | 27 +++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/src/main/java/org/springframework/data/jpa/mapping/JpaPersistentPropertyImpl.java b/src/main/java/org/springframework/data/jpa/mapping/JpaPersistentPropertyImpl.java index 69c336d5a..0de1bc24c 100644 --- a/src/main/java/org/springframework/data/jpa/mapping/JpaPersistentPropertyImpl.java +++ b/src/main/java/org/springframework/data/jpa/mapping/JpaPersistentPropertyImpl.java @@ -34,6 +34,7 @@ import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.Transient; +import javax.persistence.Version; import javax.persistence.metamodel.Metamodel; import org.springframework.data.annotation.AccessType.Type; @@ -174,6 +175,15 @@ class JpaPersistentPropertyImpl extends AnnotationBasedPersistentProperty ownerType, String propertyName) { JpaPersistentEntity entity = context.getPersistentEntity(ownerType); @@ -241,4 +258,14 @@ public class JpaPersistentPropertyImplUnitTests { return id; } } + + static class SpringDataVersioned { + + @Version long version; + } + + static class JpaVersioned { + + @Version long version; + } }