一尘不染

获取在SessionFactory中设置的所有表名

hibernate

有没有办法检索由SessionFactory?管理的所有表的名称?例如,所有通过AnnotationConfiguration.addAnnotatedClass(...))?添加的表。


阅读 286

收藏
2020-06-20

共1个答案

一尘不染

这是如何使用以下方法获取一个tableName getClassMetadata

ClassMetadata cm = sessionFactory.GetClassMetadata(className);

AbstractEntityPersister aep = (AbstractEntityPersister) cm;
String tableName = aep.getTableName();

[编辑] :您可以通过调用找到所有内容,getAllClassMetadata()并找到所有类似的表名

Map m = sessionFactory.GetAllClassMetadata();
/* iterate map*/
AbstractEntityPersister aep = m.get(/*key (className)*/) 
String tableName = aep.getTableName();
2020-06-20