JPA - 检索所有实体 类

JPA - Retrieve all Entity Classes

我需要一个持久化实体的类列表,我需要实体信息,使用 JPA 的反射 API

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

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

看看Configuration#getClassMappings()

Returns: Iterator of the entity mappings currently contained in the configuration.

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

 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("******************************");
    }