通过querydsl maven插件在表导出期间禁用反向外键创建

时间:2016-04-08 15:22:44

标签: java maven querydsl

我正在寻找一种禁用反向外键创建的方法。目前,querydsl maven插件在构建过程中自动创建InvForeignKey条目。 例如,

  1. 表CUSTOMER有pk = customerId
  2. 表PROVIDER具有pk = providerId和fk = customerId
  3. 表ABRACADABRA有pk = abraId和fk = customerId
  4. 以下是来自pom的插件设置:

       <plugin>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-maven-plugin</artifactId>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>export</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <jdbcDriver>oracle.jdbc.driver.OracleDriver</jdbcDriver>
                <jdbcUrl>${url}</jdbcUrl>
                <jdbcUser>${username}</jdbcUser>
                <jdbcPassword>${password}</jdbcPassword>
                <schemaPattern>${schema}</schemaPattern>
                <packageName>com.test.querydsl</packageName>
                <targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
                <tableTypesToExport>TABLE</tableTypesToExport>
                <tableNamePattern>
                    CUSTOMER, PROVIDER
                </tableNamePattern>
            </configuration>
        </plugin>
    

    在我的情况下,我想只为表CUSTOMER(QCustomer)和PROVIDER(QProvider)生成类型,并且不保留有关ABRACADABRA的任何信息。但是,querydsl-plugin迫使我将不需要的表添加到tableNamePattern中,因为它会在QCustomer中生成类似的内容!

    public final com.mysema.query.sql.ForeignKey<QAbracadabra> _fkabracadabra = createInvForeignKey(Arrays.asList(customerId), Arrays.asList("CUSTOMERID"));
    

    有可能不以某种方式关闭它吗?我仍然希望生成正常的外键。

0 个答案:

没有答案