h2 - 是否可以为 jOOQ 代码生成提供渲染设置?
问题描述
我正在尝试针对 H2 数据库运行 jOOQ 代码生成器,但遇到以下异常:
23:59:27.191 [main] ERROR org.jooq.meta.AbstractDatabase - Could not load schemata
org.jooq.exception.DetachedException: Cannot execute query. No Connection configured
at org.jooq_3.11.7.MYSQL.debug(Unknown Source)
at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:319)
...
我已经验证了该数据库确实存在。我怀疑这是由于区分大小写处理不匹配造成的:
- jOOQ 引用所有模式对象的名称作为指定不区分大小写的一种方式......但是,
- H2 使用引号来强制区分大小写。
我知道如何以编程方式指定渲染设置以使用生成的工件(构建查询等),但在这种特殊情况下,我正在寻找一种方法来在代码生成器的配置中指定这些设置。
提前致谢!
解决方案
人工堆栈跟踪元素at org.jooq_3.11.7.MYSQL.debug(Unknown Source)
表明您正在使用SQLDialect.MYSQL
方言来生成 SQL 代码,这显然不适用于 H2。此外,Configuration
如错误消息所示,您没有 JDBC 连接,因此您实际上无法通过 jOOQ 执行任何查询。
代码生成器不提供您正在寻找的功能。为了“取消引用”所有标识符,请在运行时使用标识符样式设置。
推荐阅读
- python - 尝试使用 LabelEncoder 对列进行编码,发生类型错误
- asp.net - 使用 gmail Smtp 发送电子邮件不起作用 ASP NET Core
- huggingface-transformers - 拥抱人脸数据预处理
- python - 作业因阶段故障而中止,即使只有 100 行数据
- java - 如何从 smart-insole android studio 控制 App 上的采样率?
- java - 在 Tomcat 启动期间获取无法访问类 com.sun.crypto.provider.SunJCE (in module java.base) 错误
- mongodb - 为什么会出现这个错误:MongoServerError: unknown operator: $slice
- quantum-computing - 让 Grammarinator 使用 openqasm3 语法
- ios - 如何将值表单视图传递给 SwiftUI 中的视图模型?
- python - 与 pyppeteer 一起使用时,Pytest-asyncio 不会移动到下一条语句