我可以通过两种方式获取所有映射的实体及其对应的SQL表(可能还有其他)。
最直接的是,是否可以使用Hibernate Configuration对象:
for(Iterator it = config.getClassMappings(); it.hasNext();){ PersistentClass pc = (PersistentClass) it.next(); System.out.println(pc.getEntityName() + "t" + pc.getTable().getName()); }
另外,您可以进行更多的转换,并从SessionFactory中获得相同的信息:
Map<String, Classmetadata> map = (Map<String, Classmetadata>) sessionFactory.getAllClassmetadata(); for(String entityName : map.keySet()){ SessionFactoryImpl sfImpl = (SessionFactoryImpl) sessionFactory; String tableName = ((AbstractEntityPersister)sfImpl.getEntityPersister(entityName)).getTableName(); System.out.println(entityName + "t" + tableName); }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)