我有一个名为@Pojo的自定义注释,我用它来自动生成wiki文档: package com.example.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.METHOD) public @interface Pojo { Class<?> value(); } 我这样使用它: @Pojo(com.example.restserver.model.appointment.Appointment.class) 来标注一个资源方法,这样注释处理器可以自动生成一个描述它所期望的资源和types的wiki页面。 我需要读取注释处理器中的value字段的value ,但是我得到一个运行时错误。 在我的处理器的源代码中,我有以下几行: final Pojo pojo = element.getAnnotation(Pojo.class); // … final Class<?> pojoJavaClass = pojo.value(); 但实际的类没有提供给处理器。 我想我需要一个javax.lang.model.type.TypeMirror来代替真实的类。 我不知道如何得到一个。 我得到的错误是: javax.lang.model.type.MirroredTypeException: Attempt to access Class object for TypeMirror com.example.restserver.model.appointment.Appointment Appointment是在我的@Pojo注释中提到的一个类。 不幸的是,关于Java注释处理的文档和/或教程似乎很less。 试图用Googlesearch。
本着与CriteriaQuery相关的types安全的精神,JPA 2.0还有一个API来支持实体的元模型表示。 是否有人知道这个API的全function实现(生成元模型,而不是手动创build元模型类)? 如果有人知道在Eclipse中设置这个步骤(我认为这与设置注释处理器一样简单,但你永远不知道),这将是非常棒的。 编辑:只是偶然发现Hibernate JPA 2元模型生成器 。 但问题仍然存在,因为我找不到任何jar的下载链接。 编辑2:自从我问这个问题以来已经过去了,但是我想我会回来并添加一个链接到SourceForge上的Hibernate JPA Model Generator项目