实体管理器应该具有系统的所有JPA实体和关系的信息。有没有一种方法可以通用查询实体的所有关系?理想情况下,即使没有反向链接,我们也希望检索关系双方的信息。
我经历了EntityManager API,最初认为EntityGraphs可能会返回我想要的信息。但是,只有在实体中定义而不是由实体管理器生成的情况下,才出现返回值。
答案 0 :(得分:0)
如果我的理解正确,那么您想反省有关实体的信息。 使用JPA Metamodel API可以做到这一点。
要点:
Metamodel metamodel = em.getMetamodel();
//Get a specific entity information
EntityType<MyEntity> typeMyEntity = metamodel.entity(MyEntity.class);
// Get all the entity classes:
Set<EntityType> allEntityTypes = metamodel.getEntities();
// Get all the attributes - including inherited:
Set<Attribute> attributes1 = typeMyEntity.getAttributes();