我用一个简单的Java bean来描述一个具有4个属性的getter/setter和一些overString方法,比如toString,equals和hashCode。Java反射(和注释):bean.class是空的
以上每个属性是一个自定义注释:
import java.lang.annotation.*;
import java.lang.annotation.RetentionPolicy;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface DAOProperty {
String name();
String type();
boolean identifier() default false;
}
/** The id. */
@DAOProperty(name = "id", type = "long", identifier = true)
private long id;
如果我通过bean.class另一个方法
generateEntity(User.class);
...
private static MEntity generateEntity(Class<?> bean) {...}
并调试它,它似乎是空的,除了班级名称。所有数组像方法,注释和字段都是零大小。
我哪里错了?
奇怪的是,我可以发誓声明数组declareFields的大小也是零,如果我在调试器的bean上,但它以某种方式工作。 非常感谢Bozho。 这是一个UAS的excersise。主要目的是使用emf和jet实现代码生成器。 – masche 2010-07-11 09:48:56