当前位置: 首页 > 知识库问答 >
问题:

jOOQ禁用DAO和POJO生成

丌官淇
2023-03-14

我的项目需要我自己生成DAO和POJO。必须对其进行某些修改。我的SRS说我必须使用jOOQ。我第一次使用它;我知道jOOQ自己生成POJO和DAO,但我找不到禁用它的方法。

我在jOOQ的文档中找不到任何对我有帮助的东西。有人能告诉我如何从DAO和POJO代禁用jOOQ,但仍然提供记录吗。

Maven pom。xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<parent>
    <groupId>org.jooq</groupId>
    <artifactId>jooq-parent</artifactId>
    <version>3.4.1</version>
</parent>

<groupId>org.jooq</groupId>
<artifactId>jooq</artifactId>
<name>jOOQ</name>

<licenses>
    <license>
        <name>Apache License, Version 2.0</name>
        <url>http://www.jooq.org/inc/LICENSE.txt</url>
        <distribution>repo</distribution>
    </license>
    <!-- [pro] xxx
    xxxxxxxxx
        xxxxxxxxxx xxxxxxx xxx xxxxxxxxxxx xxxxxxxxxxxxxxxx
        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxx
    xxxx [/pro] -->
</licenses>

<build>
    <plugins>
        <!-- XJC-generate JAXB artefacts. Contribution is the courtesy
             of Sergey Epik -->
        <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <version>0.8.1</version>
            <executions>
                <!-- If this causes trouble in your Eclipse m2e lifecycle configuration, try using
                     http://m2eclipse.sonatype.org/sites/m2e/, instead of the official m2e Eclipse
                     plugin
                  -->
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <extension>true</extension>
                <strict>false</strict>
                <schemaDirectory>src/main/resources/xsd</schemaDirectory>
                <bindingDirectory>src/main/resources/xjb</bindingDirectory>
                <schemaIncludes>
                    <include>jooq-runtime-3.3.0.xsd</include>
                </schemaIncludes>
                <generatePackage>org.jooq.conf</generatePackage>
                <args>
                    <arg>-Xxew</arg>
                    <arg>-Xxew:instantiate lazy</arg>
                    <arg>-Xxew:delete</arg>
                    <arg>-Xfluent-api</arg>
                    <arg>-Xdefault-value</arg>
                    <arg>-Xannotate</arg>
                    <arg>-Xinheritance</arg>
                </args>
                <plugins>
                    <plugin>
                        <groupId>com.github.jaxb-xew-plugin</groupId>
                        <artifactId>jaxb-xew-plugin</artifactId>
                        <version>1.0</version>
                   </plugin>
                    <plugin>
                        <groupId>org.jvnet.jaxb2_commons</groupId>
                        <artifactId>jaxb2-fluent-api</artifactId>
                        <version>3.0</version>
                    </plugin>
                    <plugin>
                        <groupId>org.jvnet.jaxb2_commons</groupId>
                        <artifactId>jaxb2-default-value</artifactId>
                        <version>1.1</version>
                    </plugin>
                    <plugin>
                        <groupId>org.jvnet.jaxb2_commons</groupId>
                        <artifactId>jaxb2-basics-annotate</artifactId>
                        <version>0.6.2</version>
                    </plugin>              
                    <plugin>
                        <groupId>org.jvnet.jaxb2_commons</groupId>
                        <artifactId>jaxb2-basics</artifactId>
                        <version>0.5.3</version>
                    </plugin>      
                </plugins>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>2.1.0</version>
            <extensions>true</extensions>
            <executions>
                <execution>
                    <id>bundle-manifest</id>
                    <phase>process-classes</phase>
                    <goals>
                        <goal>manifest</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <supportedProjectTypes>
                    <supportedProjectType>jar</supportedProjectType>
                </supportedProjectTypes>
                <instructions>
                    <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                    <Export-Package>*</Export-Package>
                    <Import-Package>
                        javax.persistence;resolution:=optional,
                        org.apache.log4j;resolution:=optional,
                        *
                    </Import-Package>
                    <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
                </instructions>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <archive>
                    <!-- add the generated manifest to the jar -->
                    <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

<profiles>
    <profile>
        <id>release</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>sign-artifacts</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
        <type>jar</type>
        <scope>provided</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>integration</artifactId>
        <version>1.6.1</version>
        <type>jar</type>
        <scope>provided</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0</version>
        <type>jar</type>
        <scope>provided</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Alpha1</version>
        <type>jar</type>
        <scope>provided</scope>
        <optional>true</optional>
    </dependency>


    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <type>jar</type>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jmock</groupId>
        <artifactId>jmock-junit4</artifactId>
        <version>2.6.0</version>
        <type>jar</type>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.6.1</version>
        <type>jar</type>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.1</version>
        <type>jar</type>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version>
        <type>jar</type>
        <scope>test</scope>
    </dependency>
</dependencies>

而且构建使用了gradle。我也不知道这会对更改产生什么影响。

共有1个答案

燕实
2023-03-14

该项目是使用gradle构建的。所以所有依赖项的配置都被重定向到build.gradle。帮助我改变jooq属性的构建文件的摘录是:

    jooq 
    { 
      generator 
        { generate 
           { relations = true 
             deprecated = false 
             records = true 
             immutablePojos = false 
             daos = false 
             fluentSetters = true 
       } 
      target { packageName = '...' } 

该文件无法从项目目录中访问,但我可以在此处编辑!!

 类似资料:
  • 我试图自动生成刀的视图。我已经预先设置了配置: whitch为表生成dao,但不为视图生成dao。根据文件规定: 如果您使用的是jOOQ的代码生成器,那么可以将其配置为为为您生成POJO和DAO。然后,jOOQ为每个UpdateRecord生成一个DAO,即为每个表生成一个单列主键。 和 公共接口 它表示来自表或视图的记录-表记录其基础表或视图具有“主唯一键”,即主键或至少一个唯一键jOOQ使用“

  • 我想使用DAO将生成的Pojo添加到数据库中。但我收到一个异常,不知道如何解决它。 我尝试添加一个公共。队伍在每一张桌子前面。 在DAO使用中插入部队: 使用的数据库文件: JOOQ一代,我还尝试了unqualifiedSchema=main: 数据库类只是一个返回基本数据的单例: 错误,当我使用基于文件的数据库并访问它时,所需的表似乎在那里:

  • 试图用Joda DateTimes生成JooQ POJOs,我遇到了一些问题。POJO使用默认的java.sql从生成器中生成。时间戳值,而不是日期时间。 代码如下。 Create Table(此处时间戳字段的名称已更改)希望确保我没有命中构建系统中的某个缓存。此名称仍应与下面的正则表达式匹配。 转换类——基于文档。 Jooq配置XML。基于文档(感谢您捕获我的表达式/表达式错误Luke)! 创建

  • 我正在使用jooq为我的H2 db表生成pojo 但是生成的代码(如下) 缺少@GeneratedValue注释,这使得无法使用spring data rest repository插入新记录,因为传入的对象总是抱怨没有设置id字段。 我可以做什么配置/工作来让jooq正常工作? 下面是我用来在编译时生成pojo的相关pom文件部分: 变通方法 在添加该功能之前,遇到相同问题的任何人都可以选择替换

  • 问题内容: 有谁能告诉我如何强制Maven在具有包路径的自动生成的hibernate.cfg.xml文件中映射.hbm.xml文件之前? 我的总体想法是,我想通过maven使用hibernate- tools为我的应用程序生成持久层。因此,我需要hibernate.cfg.xml,然后是所有my_table_names.hbm.xml,最后需要生成POJO。但是,当我将* .hbm.xml文件放入

  • 问题 在代码生成期间,我在配置到自定义POJO的映射时遇到了一些问题。 问题 我已经实现了,但想知道如何注册它以在代码生成阶段使用,或者即使这是可能的? 更多上下文 我喜欢波霍斯 如果有帮助,我将使用DefaultConfiguration对象(一个bean)配置jOOQ: 然后对于代码生成,我在gradle中配置它: 我确信这两种配置之间存在脱节,但我无法从文档中了解如何同步这些配置。理想情况下