如果某个类持久(使用 @Entity 注释),JPA中是否有任何方法可以实际检查?
答案 0 :(得分:1)
检查班级是否有Entity
注释:
if (clazz.isAnnotationPresent(Entity.class)){
//
}
Entity
可能存在,但由于各种原因,您的JPA实现可能无法映射该类。
因此,这是一种检查EntityManagerFactory
是否已映射它的方法:
EntityManagerFactory.getMetamodel().entity(clazz);
如果它不是由EntityManagerFactory映射的实体,则抛出IllegalArgumentException
。
答案 1 :(得分:0)
如果使用@Entity注释而不是XML配置,则可以检查它。 你有两个选择:
答案 2 :(得分:0)
public static void main(String[] args) {
Class<?> cls = YourClassName.class;
System.out.println("is entity annotated? "+cls.isAnnotationPresent(Entity.class));
}