2014-04-11 158 views
1

任何Java库/框架,它等效于JPA /休眠(这是更DML),但在DDL电平,例如CREATE TABLE,ALTER对于不同RDBMS数据库供应商TABLE(MySQL和PostgreSQL,甲骨文等)JPA /休眠为DDL

  1. 在运行时动态生成DDL脚本。
  2. 字符串编码自由,喜欢jOOQ或QueryDSL。
  3. 的数据库句柄差异在https://stackoverflow.com/a/217230/418439列出。

回答

1

笔者建议Liquibase(http://www.liquibase.org/)便携式DDL抽象在不同的​​数据库: http://blog.jooq.org/2011/10/24/liquibase-for-db-migrations/

关于第3点),Liquibase还支持通用的数据类型:

“为了让脚本与数据库无关,以下“通用”数据类型将转换为正确的数据库实现:* BOOLEAN * CURRENCY * UUID * CLOB * BLOB * DATE * DATETIME * TIME * BIGINT

此外,指定java.sql.Types。*类型将会是转换为正确的类型。如果需要,可以包括精度。下面是一些例子:* java.sql.Types.TIMESTAMP * java.sql.Types.VARCHAR(255)”

来源:http://www.liquibase.org/documentation/column.html

+0

注意:我们(在[数据Geekery(HTTP:// WWW .datageekery.com),背后[jOOQ]公司(http://www.jooq.org))不具有相对于偏向于比较Liquibase和Flywaydb ... –