访问H2数据库模式(Accessing H2 database schema)

2019-06-27 06:24发布

林目前使用访问嵌入式H2数据库在Java jOOQ生成表类等我目前可以执行查询如

create.select().from(TEST).fetch()

在我的代码,返回结果等。

但是我不能查询的信息架构。 我能确定使用它的H2控制台,并创建一个给定INFORMATION_SCHEMA表的视图访问工作正常。 我的问题是我应该如何访问INFORMATION_SCHEMA如执行查询,如

SELECT * FROM INFORMATION_SCHEMA.TABLES

从我的Java代码中? 我一定要创建一个视图,可以通过模式jooq-元或一些其他手段来访问,或者我需要的东西添加到由jooq-代码生成使用(未在生成的表类创建INFORMATION_SCHEMA)属性文件? 或者是其他东西?


编辑:这是我第一次涉足使用jooq从一个MySQL背景正在到来。 我正在切实努力实现的是能够运行一些单元测试,以确保数据库相关的代码工作。 所以,我要访问数据库的元数据(模式),也不必知道是否存在任何用户创建的表返回的东西。

Answer 1:

您可以生成的类INFORMATION_SCHEMA就像任何其他的模式。 事实上,jOOQ-元包含一些反向工程数据库模式需要这些类的。

该手册的有关高级代码生成属性部分提到如何配置代码生成器加载多个“输入模式”:

<database>
  <schemata>
    <schema>
      <inputSchema>...</inputSchema>
    </schema>
    [ <schema>...</schema> ... ]
  </schemata>
</database>


文章来源: Accessing H2 database schema