使用注解时通过实体类获取表名和表字段名

来源:互联网 发布:高中生学编程 编辑:程序博客网 时间:2024/05/18 00:14

使用此方法的前提是实体类使用了persistence的注解。
//获取表名

public static String getTableName(Class clazz) {

        Table annotation = (Table) clazz.getAnnotation(Table.class);
        if (annotation != null) {
            return annotation.name();
        }
        return null;

    }


//获取字段名

public static String getColumnName(Class clazz,String fieldName){
        Method[] methods = clazz.getMethods();
        for (Method method : methods) {
            if (method.isAnnotationPresent(Column.class)) {
                if (method.getName().equalsIgnoreCase("get"+fieldName)) {
                    Column  column = method.getAnnotation(Column.class);
                    return column.name();
                }
                
            }
        }
        return null;
    }