hibernate 取出实体类注解里的属性
发布网友
发布时间:2022-04-08 05:02
我来回答
共1个回答
热心网友
时间:2022-04-08 06:31
你好,可以通过java的反射获取。代码如下:
public static void main(String[] args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
try {
//TDict是实体对象
Class<TDict> c = TDict.class;
//获取对象中所有的方法
Method[] methods = c.getMethods();
//进行循环
for (Method method : methods) {
//判断方法上是否存在Column这个注解
if (method.isAnnotationPresent(Column.class)) {
//method.invoke(bus, new Object[]{});
Column col = method.getAnnotation(Column.class);
//System.out.println(col);
//下面是取值
System.out.print("方法名称:"+method.getName());
System.out.print("\tname---"+col.name());
System.out.print("\tnullable---"+col.nullable());
System.out.println("\tlength---"+col.length());
}
}
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
需要引用
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import javax.persistence.Column;
测试结果:
方法名称:getIdname---idnullable---falselength---255
方法名称:getDictDescribename---dict_describenullable---truelength---50
方法名称:getDictTypename---dict_typenullable---truelength---20
方法名称:getDictSortname---dict_sortnullable---truelength---255
方法名称:getDictRemarkname---dict_remarknullable---truelength---50
方法名称:getDictCtimename---dict_ctimenullable---truelength---50
望采纳,