我目前正在使用 java 访问嵌入式 H2 数据库jOOQ生成表类等。我当前可以执行诸如
create.select().from(TEST).fetch()
在我的代码中,返回结果等。
但是我无法查询信息模式。我可以使用 H2 控制台访问它,并且为给定的 information_schema 表创建视图效果很好。我的问题是我应该如何访问 information_schema 例如来执行诸如
SELECT * FROM INFORMATION_SCHEMA.TABLES
从我的java代码中?我是否必须创建一个视图,是否可以通过 jooq-meta 或其他方式访问架构,或者我是否需要向 jooq-codegen 使用的属性文件添加一些内容(在生成的表类中未创建 information_schema) ?或者是其他东西?
编辑:
这是我第一次尝试使用 jooq,并且我有 MySQL 背景。我有效地试图实现的是能够运行一些单元测试以确保与数据库相关的代码工作。所以我想访问数据库的元数据(架构)并返回一些内容,而不必知道是否存在任何用户创建的表。
您可以为以下对象生成类INFORMATION_SCHEMA
就像任何其他模式一样。事实上,jOOQ-meta 包含对数据库模式进行逆向工程所需的一些类。
The 手册中有关高级代码生成属性的部分提到如何配置代码生成器来加载多个“输入模式”:
<database>
<schemata>
<schema>
<inputSchema>...</inputSchema>
</schema>
[ <schema>...</schema> ... ]
</schemata>
</database>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)