从 java 中带注释的 bean 中获取数据库列名称

Get DB column names from annotated bean in java

在下面的注解映射到数据库列的 bean 中,如何获取字符串中的值。

我需要如下所有值

"TY_CD,ACTION_CD,ID"

public class SampleBO implements SQLData{

    @DbColumnMap(columnName = "TY_CD")
    private String typeCode;

    @DbColumnMap(columnName = "ACTION_CD")
    private String actionCd;

    @DbColumnMap(columnName = "ID")
    private String id;
}

您可以获得 class 字段的列表

SampleBO.class.getFields()

(返回一个Field数组)遍历数组是否有注解。请参阅 the example 如果注释存在,您可以获得注释的 columnName 的值。

这是一个简单的例子。请注意,我在此处的 "Address" class 中搜索了 JPA "column" 注释的 "name":

 public static void main(String[] args) {
     Field[] fields = Address.class.getDeclaredFields();
     for (Field field : fields) {
        Column col = field.getAnnotation(Column.class);
        if (col != null) {
            System.out.println(col.name() + "!");
        }
     }
 }