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