Get all table names set up in SessionFactory

前端 未结 4 1276
你的背包
你的背包 2020-12-16 05:52

Is there a way to retrieve the name of all tables that are managed by the SessionFactory? For instance, all the tables that were added via AnnotationConfi

4条回答
  •  再見小時候
    2020-12-16 06:10

    Here is howto getting one tableName with getClassMetadata

    ClassMetadata cm = sessionFactory.GetClassMetadata(className);
    
    AbstractEntityPersister aep = (AbstractEntityPersister) cm;
    String tableName = aep.getTableName();
    

    [EDIT] : you can find all by calling getAllClassMetadata() and find all table names like that

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

提交回复
热议问题