use of com.workoss.boot.plugin.mybatis.provider.ClassColumnInfo in project boot by workoss.
the class JavaxEntityClassFinder method findTableColumnInfo.
@Override
public Optional<ClassTableColumnInfo> findTableColumnInfo(ProviderContext context) {
return findTableColumnInfo(context, field -> !field.isAnnotationPresent(Transient.class), (tableColumnInfo, field) -> {
String columnName = ObjectUtil.underscoreName(field.getName());
Annotation[] annotations = field.getAnnotations();
for (Annotation annotation : annotations) {
if (annotation instanceof Column) {
// 自定义列名称
Column column = (Column) annotation;
if (!ObjectUtil.isBlank(column.name())) {
columnName = column.name();
}
}
if (annotation instanceof Id) {
tableColumnInfo.idColumn(new ClassColumnInfo(field.getType(), field.getName(), columnName));
}
}
if (tableColumnInfo.getIdColumn() == null && "id".equalsIgnoreCase(field.getName())) {
tableColumnInfo.idColumn(new ClassColumnInfo(field.getType(), field.getName(), columnName));
}
tableColumnInfo.addColumnInfo(new ClassColumnInfo(field.getType(), field.getName(), columnName));
});
}
use of com.workoss.boot.plugin.mybatis.provider.ClassColumnInfo in project boot by workoss.
the class DefaultEntityClassFinder method findTableColumnInfo.
@Override
public Optional<ClassTableColumnInfo> findTableColumnInfo(ProviderContext context) {
return findTableColumnInfo(context, field -> !field.isAnnotationPresent(Transient.class), (tableColumnInfo, field) -> {
String columnName = ObjectUtil.underscoreName(field.getName());
Annotation[] annotations = field.getAnnotations();
for (Annotation annotation : annotations) {
if (annotation instanceof Column) {
// 自定义列名称
Column column = (Column) annotation;
if (!ObjectUtil.isBlank(column.name())) {
columnName = column.name();
}
}
if (annotation instanceof Id) {
tableColumnInfo.idColumn(new ClassColumnInfo(field.getType(), field.getName(), columnName));
}
}
if (tableColumnInfo.getIdColumn() == null && "id".equalsIgnoreCase(field.getName())) {
tableColumnInfo.idColumn(new ClassColumnInfo(field.getType(), field.getName(), columnName));
}
tableColumnInfo.addColumnInfo(new ClassColumnInfo(field.getType(), field.getName(), columnName));
});
}
use of com.workoss.boot.plugin.mybatis.provider.ClassColumnInfo in project boot by workoss.
the class JakartaEntityClassFinder method findTableColumnInfo.
@Override
public Optional<ClassTableColumnInfo> findTableColumnInfo(ProviderContext context) {
return findTableColumnInfo(context, field -> !field.isAnnotationPresent(Transient.class), (tableColumnInfo, field) -> {
String columnName = ObjectUtil.underscoreName(field.getName());
Annotation[] annotations = field.getAnnotations();
for (Annotation annotation : annotations) {
if (annotation instanceof Column) {
// 自定义列名称
Column column = (Column) annotation;
if (!ObjectUtil.isBlank(column.name())) {
columnName = column.name();
}
}
if (annotation instanceof Id) {
tableColumnInfo.idColumn(new ClassColumnInfo(field.getType(), field.getName(), columnName));
}
}
if (tableColumnInfo.getIdColumn() == null && "id".equalsIgnoreCase(field.getName())) {
tableColumnInfo.idColumn(new ClassColumnInfo(field.getType(), field.getName(), columnName));
}
tableColumnInfo.addColumnInfo(new ClassColumnInfo(field.getType(), field.getName(), columnName));
});
}
Aggregations