Index: forgon-tools/src/main/java/com/forgon/tools/hibernate/BasePoManagerImpl.java =================================================================== diff -u -r16654 -r17147 --- forgon-tools/src/main/java/com/forgon/tools/hibernate/BasePoManagerImpl.java (.../BasePoManagerImpl.java) (revision 16654) +++ forgon-tools/src/main/java/com/forgon/tools/hibernate/BasePoManagerImpl.java (.../BasePoManagerImpl.java) (revision 17147) @@ -1,5 +1,7 @@ package com.forgon.tools.hibernate; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; import java.util.Collection; import java.util.HashSet; import java.util.LinkedList; @@ -37,6 +39,17 @@ public BasePoManagerImpl(Class clazz){ poName = clazz.getSimpleName(); } + + @SuppressWarnings("unchecked") + public BasePoManagerImpl(){ + Class entityClass = null; + Type t = getClass().getGenericSuperclass(); + if(t instanceof ParameterizedType){ + Type[] p = ((ParameterizedType)t).getActualTypeArguments(); + entityClass = (Class)p[0]; + } + poName = entityClass.getSimpleName(); + } @Override public void save(T object) throws RuntimeException {