当前位置: 首页 > 面试题库 >

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

范楚
2023-03-14
问题内容

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


问题答案:

这是如何使用以下方法获取一个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();


 类似资料:
  • 问题内容: 获取Oracle中所有表的列表? 问题答案: 假设您有权访问DBA_TABLES数据字典视图。如果您没有这些特权但需要它们,则可以请求DBA显式授予您对该表的特权,或者请求DBA授予您该SELECT ANY DICTIONARY特权或SELECT_CATALOG_ROLE角色(这两者都将允许您查询任何数据字典表) )。当然,您可能希望排除某些模式,例如SYS和模式,SYSTEM而这些模

  • 问题内容: 是否有一种快速的方法可以从中的所有表获取所有列名,而不必列出所有表? 问题答案:

  • 问题内容: 我只是不明白一件事。当我输入时: 我得到: 但是选择似乎根本不起作用: 那怎么可能?我的意思是,表明存在一个名为“ db”的表… 其次,当我键入:它给我: 我能够做到: 我得到了一些结果。这是为什么?为什么我只能选择大写字母呢?而且,如何从仅以大写形式给出的表中进行选择?干杯 如果很重要:我以root用户身份登录到我的数据库。 问题答案: “ information_schema”仅具

  • 我正在尝试获取数据库(Oracle 11g)中的所有表名,以便为UI中的每个表动态生成复选框。我没有映射.cfg.xml文件中的任何这些表。 我使用了下面的代码: 但它的错误如下:组织。冬眠hql。内部的ast。QuerySyntaxException:未映射user\u表[从user\u表中选择table\u名称] 请告诉我是否有任何方法可以在Hibernate 4中获取所有表名

  • 问题内容: 有没有一种方法可以通过sql语句或vba代码从访问文件中返回所有表?“我不知道桌子的名字” 例如,当您希望表中包含所有字段时,无论字段名称如何,都使用“ *”。 但是如何获得所有表? 问题答案: 这将带回MS Access数据库中的所有表(包括链接表) 它还包含Sys表,因此您可能要排除以 MSys 开头的表 __ 看一下 使用MSysObjects 选择“表” AS [表],MSys

  • 问题内容: 以下代码可在模拟器上运行,但无法在Samsung Galaxy S III上运行。 这是例外: 有什么建议?我这样做是出于学习目的,即为了研讨会。 问题答案: 您有Java空指针异常,因此名称为null。将您的system.out.println()放在尝试中,您将不会出现此错误。在获得名字之后,我真的不知道–Clad 不是我的帖子,而是您的答案: 获取Android设备名称 (对于A