diff --git a/src/main/java/com/muheda/notice/hbase/HBaseBeanUtil.java b/src/main/java/com/muheda/notice/hbase/HBaseBeanUtil.java index c489fa3f73eeb4fd47420c5f0b682b10039b2b78..eef5a1b03fd571c3a7a0ddf3df7446924157d892 100644 --- a/src/main/java/com/muheda/notice/hbase/HBaseBeanUtil.java +++ b/src/main/java/com/muheda/notice/hbase/HBaseBeanUtil.java @@ -91,11 +91,12 @@ public class HBaseBeanUtil { * @return * @throws Exception */ - public static T resultToBean(Result result, T obj) throws Exception { + public static T resultToBean(Result result, T obj) throws Exception { if (result == null) { return null; } Class clazz = obj.getClass(); + Object objnew = obj.getClass().newInstance(); Field[] fields = clazz.getDeclaredFields(); for (Field field : fields) { if (!field.isAnnotationPresent(HbaseColumn.class)) { @@ -118,11 +119,12 @@ public class HBaseBeanUtil { String firstLetter = fieldName.substring(0, 1).toUpperCase(); String setMethodName = "set" + firstLetter + fieldName.substring(1); Method setMethod = clazz.getMethod(setMethodName, new Class[] { field.getType() }); - setMethod.invoke(obj, new Object[] { value }); + setMethod.invoke(objnew, new Object[] { value }); } - return obj; + return (T) objnew; } + /** * @param result * @param family