hibernate 取出实体类注解里的属性
如题这个是hibernate根据数据库自动生成的实体类中的一段代码我想取出里面每个字段@column中的namenullablelength的属性可以取出来吗?代码该怎么...
如题 这个是hibernate根据数据库自动生成的实体类中的一段代码 我想取出 里面每个字段 @column中的 name nullable length 的属性 可以取出来吗? 代码该怎么写?
展开
1个回答
展开全部
你好,可以通过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;
测试结果:
方法名称:getId name---id nullable---false length---255
方法名称:getDictDescribe name---dict_describe nullable---true length---50
方法名称:getDictType name---dict_type nullable---true length---20
方法名称:getDictSort name---dict_sort nullable---true length---255
方法名称:getDictRemark name---dict_remark nullable---true length---50
方法名称:getDictCtime name---dict_ctime nullable---true length---50
望采纳,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询