注記の使用時にエンティティークラスからテーブル名とテーブルフィールド名を取得するには
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; }
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; }