diff --git a/library/src/main/java/com/orm/SugarRecord.java b/library/src/main/java/com/orm/SugarRecord.java index 0f76b766..91c78134 100644 --- a/library/src/main/java/com/orm/SugarRecord.java +++ b/library/src/main/java/com/orm/SugarRecord.java @@ -14,6 +14,7 @@ import com.orm.util.QueryBuilder; import java.lang.String; +import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Arrays; @@ -167,7 +168,9 @@ public static List findWithQuery(Class type, String query, String... a try { while (c.moveToNext()) { - entity = type.getDeclaredConstructor().newInstance(); + Constructor constructor = type.getDeclaredConstructor(); + constructor.setAccessible(true); + entity = constructor.newInstance(); inflate(c, entity, getSugarContext().getEntitiesMap()); toRet.add(entity); } @@ -193,7 +196,9 @@ public static List find(Class type, String whereClause, String[] where groupBy, null, orderBy, limit); try { while (c.moveToNext()) { - entity = type.getDeclaredConstructor().newInstance(); + Constructor constructor = type.getDeclaredConstructor(); + constructor.setAccessible(true); + entity = constructor.newInstance(); inflate(c, entity, getSugarContext().getEntitiesMap()); toRet.add(entity); } @@ -399,7 +404,9 @@ public E next() { } try { - entity = type.getDeclaredConstructor().newInstance(); + Constructor constructor = type.getDeclaredConstructor(); + constructor.setAccessible(true); + entity = constructor.newInstance(); inflate(cursor, entity, getSugarContext().getEntitiesMap()); } catch (Exception e) { e.printStackTrace();