从QueryDSL生成的bean和查询创建模式

时间:2012-11-27 22:34:21

标签: java mysql orm querydsl

虽然我不是Ruby用户,但我真的很喜欢ActiveRecord在代码中定义模式的方法,并且能够生成并查询它。我知道这不能用Java完全复制,但我想做一些合理的事情。

我使用了来自QueryDSL文档的以下内容,使用maven插件从我的SQL数据库生成bean和元数据:http://www.querydsl.com/static/querydsl/2.9.0/reference/html/ch02s08.html#d0e1244

<plugin>
  <groupId>com.mysema.querydsl</groupId>
  <artifactId>querydsl-maven-plugin</artifactId>
  <version>${querydsl.version}</version>
  <configuration>
    <jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
    <jdbcUrl>jdbc:mysql://localhost:3306/test</jdbcUrl>         
    <packageName>com.example.schema</packageName>
    <targetFolder>${project.basedir}/src/main/scala</targetFolder>
    <exportBeans>true</exportBeans>             
  </configuration>
  <dependencies>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.16</version>
    </dependency>
      <dependency>
        <groupId>com.mysema.querydsl</groupId>
        <artifactId>querydsl-scala</artifactId>
        <version>${querydsl.version}</version>
      </dependency>
  </dependencies>
</plugin>  

现在我已经获得了所有这些bean和表,并且定义了键和外键约束,是否有办法生成将重新创建该表模式的MySQL命令?

如果这不可能,那么以相互对应的方式分发源和架构的推荐方法是什么?我应该只有一个空的MySQL转储并有相应的生成bean的工具?或者我应该将生成的源以及空模式包含到MySQL中?如果版本没有同步,后一个选项似乎可能有问题,所以如果有人有任何其他想法,我会很感激。

1 个答案:

答案 0 :(得分:2)

一种方法是打包数据库架构的生成源和版本化DDL / DML文件。我们在一些项目中成功地使用了DbMaintain

无法从生成的Querydsl源中获取架构数据。