如何将JOOQ生成器设置为不使用包名称作为前缀类型

时间:2014-06-15 13:10:40

标签: java mysql jooq

我已经使用JOOQ从我的数据库Schema生成了类。所有类型都在生成的类中以其包名称作为前缀(例如org.jooq.TableField)。这使得生成的代码几乎不可读。我可以对生成器进行参数化,使其只导入pacakges,然后指定没有包的类型(例如TableField)吗?

这是我的配置xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration xmlns="http://www.jooq.org/xsd/jooq-codegen-3.3.0.xsd">
  <jdbc>
    <driver>com.mysql.jdbc.Driver</driver>
    <url>jdbc:mysql://localhost:3306/mydb</url>
    <user>root</user>
    <password></password>
  </jdbc>

  <generator>
    <name>org.jooq.util.DefaultGenerator</name>

    <database>
      <name>org.jooq.util.mysql.MySQLDatabase</name>
      <inputSchema>mydb</inputSchema>
      <includes>.*</includes>

      <excludes></excludes>
    </database>

    <target>
      <packageName>my.package.for.generated.classes</packageName>

      <directory>/home/nicolas/dev/Java/my.project/src/main/java/</directory>
    </target>
  </generator>
</configuration>

1 个答案:

答案 0 :(得分:2)

由于现有类型的所有可能命名冲突,jOOQ目前不支持生成import语句。换句话说,使用jOOQ 3.3无法阻止这种情况。