(no commit message)
[utils] / support / general / src / main / java / org / wamblee / persistence / PersistentFactory.java
index dd0d1839756bb1bb21ecc7c4824e492e2491ba6b..6b24e3f06e3f32a8b8f1391e09961d12d2e5ce9c 100644 (file)
@@ -16,6 +16,7 @@
 package org.wamblee.persistence;
 
 import java.io.Serializable;
+import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -128,9 +129,18 @@ public class PersistentFactory {
     }
 
     private static EntityAccessor analyse(Class aClass) {
-        Accessor<Serializable> pk = AnnotationUtils.analyse(aClass, Id.class);
-        Accessor<Integer> version = AnnotationUtils.analyse(aClass, Version.class);
-        if (pk != null || version != null) {
+        List<Accessor> pkAccessors = AnnotationUtils.analyse(aClass, Id.class);
+        List<Accessor> versionAccessors = AnnotationUtils.analyse(aClass,
+            Version.class);
+        Accessor<Serializable> pk = null; 
+        if ( pkAccessors.size() > 0 ) { 
+            pk = pkAccessors.get(0);
+        }
+        Accessor<Integer> version = null; 
+        if ( versionAccessors.size() > 0 ) { 
+            version = versionAccessors.get(0);
+        }
+        if (pk != null|| version != null) {
             return new EntityAccessor(pk, version);
         }
         return null;