我想在控制檯打印超我需要在以後計算的字段的名稱是工作OK是一個簡單的POJO,但上課的時候是先前由Hibernate加載我是當讓孩子不超類的領域,當我打印父項的名稱(當由Hibernate加載我得到以下)Java反射超通過休眠問題加載
[處理程序,_filter_signature,serialVersionUID的,方法]
這裏我的代碼
public static void main(String[] args)
{
FixingModels clazz = new FixingModels();
HibernateHandler handler = new HibernateHandler(true);
Student student = (Student)handler.getSession().load(Student.class,1);
Student newStudent = new Student();
System.out.println("Printing Class loaded by Hibernate");
clazz.showFieldsFromSuperClass(student);//show the Fields of the Child and parent wrong
System.out.println("--------------------------------------------------");
System.out.println("Printing Class instance by new..");
clazz.showFieldsFromSuperClass(newStudent);//Show the fields from the parent and child IS O.K
}
private void showFieldsFromSuperClass(Student clazz)
{
final Class objectClass = clazz.getClass();
final Class parentClass = objectClass.getSuperclass();
System.out.println("Printing Child");
for(Field field:objectClass.getDeclaredFields())System.out.println(field.getName());//printing child
System.out.println("Printing Parent");
for(Field field:parentClass.getDeclaredFields())System.out.println(field.getName());//printing parent
}
首次
clazz.showFieldsFromSuperClass(student);
被稱爲是印刷[處理程序,_filter_signature,serialVersionUID的,方法]後來從孩子的領域就像休眠現在是我的學生類的父不是我的抽象在代碼中的類。後來
clazz.showFieldsFromSuperClass(newStudent);
正在打印權領域學生的領域以及它的父的人在這種情況下
我的問題是如何能得到Person類領域[父類]無論何時,只要來自於新實例休眠或通過Spring容器?
感謝您在這個問題上幫助過我的所有人,我發現它非常有用......所有的解決方案......上帝保佑。 – javiut 2013-03-20 22:47:21