X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fpersistence%2FPersistentFactory.java;h=6b24e3f06e3f32a8b8f1391e09961d12d2e5ce9c;hb=8de6b7f0ebece61ee45ae70c2faa1898c7b60da7;hp=dd0d1839756bb1bb21ecc7c4824e492e2491ba6b;hpb=0e34adc30ee8d46fe064646df7f967d71ff2e589;p=utils diff --git a/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java b/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java index dd0d1839..6b24e3f0 100644 --- a/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java +++ b/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java @@ -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 pk = AnnotationUtils.analyse(aClass, Id.class); - Accessor version = AnnotationUtils.analyse(aClass, Version.class); - if (pk != null || version != null) { + List pkAccessors = AnnotationUtils.analyse(aClass, Id.class); + List versionAccessors = AnnotationUtils.analyse(aClass, + Version.class); + Accessor pk = null; + if ( pkAccessors.size() > 0 ) { + pk = pkAccessors.get(0); + } + Accessor version = null; + if ( versionAccessors.size() > 0 ) { + version = versionAccessors.get(0); + } + if (pk != null|| version != null) { return new EntityAccessor(pk, version); } return null;