mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-10-14 08:18:50 +00:00
perf[module]: orm的map的key必须是String,value没要求
This commit is contained in:
1 parent
aa523d3aa3
commit
a3b1f881a0
1 file changed
+10
-3
@@ -511,8 +511,8 @@ public class OrmManager implements IOrmManager {
|
||||
var keyType = types[0];
|
||||
var valueType = types[1];
|
||||
|
||||
if (!isBaseType((Class<?>) keyType)) {
|
||||
throw new RunException("ORM[class:{}]类型声明不正确,Map的key类型必须为基础类型,value必须是普通的pojo", clazz.getCanonicalName());
|
||||
if (!String.class.isAssignableFrom((Class<?>) keyType)) {
|
||||
throw new RunException("ORM中Map的key必须是String类型");
|
||||
}
|
||||
|
||||
checkSubEntity(clazz, valueType);
|
||||
@@ -537,7 +537,14 @@ public class OrmManager implements IOrmManager {
|
||||
return;
|
||||
} else if (Map.class.equals(clazz)) {
|
||||
// Map<List<String>, List<String>>
|
||||
throw new RunException("ORM不支持Map类型");
|
||||
var types = ((ParameterizedType) type).getActualTypeArguments();
|
||||
var keyType = types[0];
|
||||
var valueType = types[1];
|
||||
if (!String.class.isAssignableFrom((Class<?>) keyType)) {
|
||||
throw new RunException("ORM中Map的key必须是String类型");
|
||||
}
|
||||
checkSubEntity(currentEntityClass, valueType);
|
||||
return;
|
||||
}
|
||||
} else if (type instanceof Class) {
|
||||
Class<?> clazz = ((Class<?>) type);
|
||||
|
||||
Reference in new issue
Block a user