【发布时间】:2016-02-17 22:52:57
【问题描述】:
在我们的项目中,concepts 在配置文件中定义。举个例子:
<concepts>
<concept name="person">
<property name="age" type="integer"/>
...
</concept>
...
</concepts>
虽然这和SQL关系不大,但是这个配置文件恰好可以映射到SQL表、列……
从这个配置文件开始,我需要能够做两件事:
- 生成 SQL 创建脚本 (
CREATE TABLE person ( ... ))。 - 开发人员可以使用的 jOOQ POJO、表等生成
我想在这个项目中开始使用 jOOQ。 jOOQ 是否支持不从现有数据库开始的任何类型的生成(SQL 创建脚本及其 POJO、表……)?我浏览了文档,但找不到太多内容。
如果不是,我正在考虑两种选择:
- 基于配置文件生成 jOOQ POJO、表等(自定义开发)
- 基于 jOOQ POJO、表等生成 SQL 创建脚本,如步骤 1 中生成的(自定义开发)
或
- 基于配置文件生成SQL创建脚本(自定义开发)
- 在可嵌入的数据库中执行这些脚本,例如 H2 或 SQLite(非常简单)(虽然脚本也将在“真实”数据库中执行,但最好在此处使用内存数据库,以避免任何依赖)
- 基于此数据库生成 jOOQ POJO、表等(由 jOOQ 库提供)
虽然我认为第一个选项需要更多的努力,但目前我更喜欢它,因为第二个选项中的第 3 步可能会导致信息丢失。
【问题讨论】:
标签: java sql xml code-generation jooq