Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Hibernate类元数据获取java类_Java_Hibernate - Fatal编程技术网

如何从Hibernate类元数据获取java类

如何从Hibernate类元数据获取java类,java,hibernate,Java,Hibernate,我使用以下代码从sessionFactory获取所有的类元数据 ... Map allClassMetadata = getSessionFactory().getAllClassMetadata(); Set<String> entityNames = allClassMetadata.keySet(); for(String entityName : entityNames) { ClassMetadata classMetaData = (ClassMetadata)a

我使用以下代码从sessionFactory获取所有的类元数据

...
Map allClassMetadata = getSessionFactory().getAllClassMetadata();
Set<String> entityNames = allClassMetadata.keySet();
for(String entityName : entityNames) {
    ClassMetadata classMetaData = (ClassMetadata)allClassMetadata.get(entityName);
    Class entityClass = 

}
...
。。。
Map allClassMetadata=getSessionFactory().getAllClassMetadata();
Set entityNames=allClassMetadata.keySet();
for(字符串entityName:entityName){
ClassMetadata ClassMetadata=(ClassMetadata)allClassMetadata.get(entityName);
类entityClass=
}
...

是否可以检索相应的java类。我已经看到了方法
getMappedClass(EntityMode模式)
。但是entitymode是什么意思呢?

你是对的,把
getEntityMode(entitymode.POJO)
。有几种实体模式可用于映射到POJO以外的对象,如XML或映射。

自2016年(Hibernate 5.2版)起,
getAllClassMetadata
已被弃用。

我想可以用这个来代替:

Set<EntityType<?>> entities = sessionFactory.getMetamodel().getEntities();

List<?> classes = entities.stream()
                          .map(EntityType::getJavaType)
                          .filter(Objects::nonNull)
                          .collect(Collectors.toList());
Set classes=entities.stream()
.map(EntityType::getJavaType)
.filter(对象::非空)
.collect(Collectors.toList());