JPA - 检索所有实体类

时间:2015-03-02 14:38:25

标签: java jpa reflection eclipselink

我需要有一个作为持久性实体的clasess列表,我需要有实体信息,使用JPA的Reflection API

我有EntityManager,但我不知道是不是这样。

我想使用EntityListener为我的实体执行通用日志记录。这很好用,但我没办法将监听器注册到我的所有实体。

2 个答案:

答案 0 :(得分:1)

查看Configuration#getClassMappings()

  

返回:配置中当前包含的实体映射的迭代器。

答案 1 :(得分:1)

使用JPA2 MetaModel?它有各种方法来查看实体(或托管类型)。

 Set<javax.persistence.metamodel.EntityType<?>> entityTypes = entityManagerFactory.getMetamodel().getEntities();
    for (javax.persistence.metamodel.EntityType entityType : entityTypes){
        logger.info(entityType.getName());
        logger.info(entityType.getJavaType().getCanonicalName());
        logger.info("******************************");
    }