support extends SQLProvider
This commit is contained in:
@ -272,7 +272,7 @@ public class SQLProvider {
|
||||
* @param context 代理器上下文
|
||||
* @return 实体类元数据
|
||||
*/
|
||||
private EntityMeta getEntityMeta(ProviderContext context) {
|
||||
protected EntityMeta getEntityMeta(ProviderContext context) {
|
||||
Type[] types = context.getMapperType().getGenericInterfaces();
|
||||
ParameterizedType type = (ParameterizedType) types[0];
|
||||
Class<?> entityClass = (Class<?>) type.getActualTypeArguments()[0];
|
||||
@ -285,7 +285,7 @@ public class SQLProvider {
|
||||
* @param entityClass 实体类
|
||||
* @return 元数据
|
||||
*/
|
||||
private EntityMeta getEntityMeta(Class<?> entityClass) {
|
||||
protected EntityMeta getEntityMeta(Class<?> entityClass) {
|
||||
return ENTITY_META_CACHE.computeIfAbsent(entityClass, EntityMeta::new);
|
||||
}
|
||||
|
||||
@ -295,7 +295,7 @@ public class SQLProvider {
|
||||
* @author 夜雨
|
||||
* @since 2025-02-05 23:47
|
||||
*/
|
||||
private static class EntityMeta {
|
||||
protected static class EntityMeta {
|
||||
|
||||
/** 实体类 */
|
||||
final Class<?> entityClass;
|
||||
@ -375,6 +375,42 @@ public class SQLProvider {
|
||||
canDelete = Deletable.class.isAssignableFrom(entityClass);
|
||||
canDestroy = Destroyable.class.isAssignableFrom(entityClass);
|
||||
}
|
||||
|
||||
public Class<?> getEntityClass() {
|
||||
return entityClass;
|
||||
}
|
||||
|
||||
public String getTable() {
|
||||
return table;
|
||||
}
|
||||
|
||||
public String getSelectAllClause() {
|
||||
return selectAllClause;
|
||||
}
|
||||
|
||||
public FieldColumn getIdFieldColumn() {
|
||||
return idFieldColumn;
|
||||
}
|
||||
|
||||
public List<FieldColumn> getFieldColumnList() {
|
||||
return fieldColumnList;
|
||||
}
|
||||
|
||||
public boolean canCreate() {
|
||||
return canCreate;
|
||||
}
|
||||
|
||||
public boolean canUpdate() {
|
||||
return canUpdate;
|
||||
}
|
||||
|
||||
public boolean canDelete() {
|
||||
return canDelete;
|
||||
}
|
||||
|
||||
public boolean canDestroy() {
|
||||
return canDestroy;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -383,7 +419,7 @@ public class SQLProvider {
|
||||
* @author 夜雨
|
||||
* @since 2025-02-07 09:54
|
||||
*/
|
||||
private static class FieldColumn {
|
||||
protected static class FieldColumn {
|
||||
|
||||
/** 字段 */
|
||||
final Field field;
|
||||
@ -421,5 +457,29 @@ public class SQLProvider {
|
||||
isAutoUpperUUID = false;
|
||||
}
|
||||
}
|
||||
|
||||
public Field getField() {
|
||||
return field;
|
||||
}
|
||||
|
||||
public String getFieldName() {
|
||||
return fieldName;
|
||||
}
|
||||
|
||||
public String getColumnName() {
|
||||
return columnName;
|
||||
}
|
||||
|
||||
public boolean isId() {
|
||||
return isId;
|
||||
}
|
||||
|
||||
public boolean isAutoUUID() {
|
||||
return isAutoUUID;
|
||||
}
|
||||
|
||||
public boolean isAutoUpperUUID() {
|
||||
return isAutoUpperUUID;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user