嗨,我得到了下面的代碼:的Java 2個反映對象
ModuleA.Student student 1 = null;
ModuleB.Student student 2 = null;
student2 = retrieveStudentFacade().findStudentbyName("John");
student1 = StudentSessionEJBBean.convert(student2,ModuleA.Student.Class);
現在的問題student1.getId();返回null,但應該返回一個值。下面是轉換器方法,有人指導我使用這種方法來反映對象。它工作得很好,因爲沒有錯誤發生只是沒有價值回報?
UPDATE
public static <A,B> B convert(A instance, Class<B> targetClass) throws Exception {
B target = (B) targetClass.newInstance();
for (Field targetField: targetClass.getDeclaredFields()) {
Field field = instance.getClass().getDeclaredField(targetField.getName());
field.setAccessible(true);
targetField.set(target, field.get(instance));
}
return target;
}
嗨我的ModuleB.Student的屬性是私人的ModuleA.Student實際上是一個代理被保護 – user236501 2009-12-23 03:04:02