Search in sources :

Example 1 with ClassColumnInfo

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));
    });
}
Also used : Column(javax.persistence.Column) ClassColumnInfo(com.workoss.boot.plugin.mybatis.provider.ClassColumnInfo) Id(javax.persistence.Id) Annotation(java.lang.annotation.Annotation)

Example 2 with ClassColumnInfo

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));
    });
}
Also used : Column(com.workoss.boot.annotation.persistence.Column) ClassColumnInfo(com.workoss.boot.plugin.mybatis.provider.ClassColumnInfo) Id(com.workoss.boot.annotation.persistence.Id) Annotation(java.lang.annotation.Annotation)

Example 3 with ClassColumnInfo

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));
    });
}
Also used : Column(jakarta.persistence.Column) ClassColumnInfo(com.workoss.boot.plugin.mybatis.provider.ClassColumnInfo) Id(jakarta.persistence.Id) Annotation(java.lang.annotation.Annotation)

Aggregations

ClassColumnInfo (com.workoss.boot.plugin.mybatis.provider.ClassColumnInfo)3 Annotation (java.lang.annotation.Annotation)3 Column (com.workoss.boot.annotation.persistence.Column)1 Id (com.workoss.boot.annotation.persistence.Id)1 Column (jakarta.persistence.Column)1 Id (jakarta.persistence.Id)1 Column (javax.persistence.Column)1 Id (javax.persistence.Id)1