我正在使用以下代码从sessionFactory获取所有ClassMetaData。
...
Map allClassMetadata = getSessionFactory().getAllClassMetadata();
Set<String> entityNames = allClassMetadata.keySet();
for(String entityName : entityNames) {
ClassMetadata classMetaData = (ClassMetadata)allClassMetadata.get(entityName);
Class entityClass =
}
...
是否可以检索相应的java类。我见过方法getMappedClass(EntityMode mode)
。但是实体模式是什么意思?
答案 0 :(得分:1)
你是对的,放getEntityMode( EntityMode.POJO )
。有一些实体模式可用于映射到除POJO之外的其他内容,例如XML或地图。
答案 1 :(得分:1)
截至2016年(Hibernate 5.2),我们已弃用getAllClassMetadata
。
我想这可以用来代替:
Set<EntityType<?>> entities = sessionFactory.getMetamodel().getEntities();
List<?> classes = entities.stream()
.map(EntityType::getJavaType)
.filter(Objects::nonNull)
.collect(Collectors.toList());