注記の使用時にエンティティークラスからテーブル名とテーブルフィールド名を取得するには

834 ワード

このメソッドを使用する前提は、エンティティクラスが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;     }