output log when DefaultResultEntityCreator fail to map column to beans's property
@@ -8,6 +8,8 @@ | ||
8 | 8 | import java.util.HashMap; |
9 | 9 | import java.util.List; |
10 | 10 | import java.util.Map; |
11 | +import java.util.logging.Level; | |
12 | +import java.util.logging.Logger; | |
11 | 13 | |
12 | 14 | import jp.sf.amateras.mirage.bean.BeanDesc; |
13 | 15 | import jp.sf.amateras.mirage.bean.PropertyDesc; |
@@ -18,6 +20,8 @@ | ||
18 | 20 | |
19 | 21 | public class DefaultResultEntityCreator implements ResultEntityCreator { |
20 | 22 | |
23 | + private static final Logger logger = Logger.getLogger(DefaultResultEntityCreator.class.getName()); | |
24 | + | |
21 | 25 | /** |
22 | 26 | * Creates and returns one entity instance from the ResultSet. |
23 | 27 | * |
@@ -69,12 +73,22 @@ | ||
69 | 73 | PropertyDesc pd = beanDesc.getPropertyDesc(propertyName); |
70 | 74 | |
71 | 75 | if(pd != null){ |
72 | - Class<?> fieldType = pd.getPropertyType(); | |
76 | + Class<?> propertyType = pd.getPropertyType(); | |
73 | 77 | @SuppressWarnings("rawtypes") |
74 | - ValueType valueType = MirageUtil.getValueType(fieldType, dialect, valueTypes); | |
78 | + ValueType valueType = MirageUtil.getValueType(propertyType, dialect, valueTypes); | |
75 | 79 | if(valueType != null){ |
76 | - pd.setValue(entity, valueType.get(fieldType, rs, columnName)); | |
80 | + pd.setValue(entity, valueType.get(propertyType, rs, columnName)); | |
81 | + } else { | |
82 | + if (logger.isLoggable(Level.FINE)) { | |
83 | + logger.fine(String.format("column [%s] is ignored because property [%s]'s type is not supported: %s", | |
84 | + columnName, propertyName, propertyType.getName())); | |
85 | + } | |
77 | 86 | } |
87 | + } else { | |
88 | + if (logger.isLoggable(Level.FINER)) { | |
89 | + logger.finer(String.format("column [%s] is ignored because property is not found in the bean", | |
90 | + columnName)); | |
91 | + } | |
78 | 92 | } |
79 | 93 | } |
80 | 94 |