java - 如何使用默认构造函数和 setter 生成 pojo

标签 java code-generation jooq

首先,这是一个好主意吗(使用默认构造函数和 setter 生成/使用 pojo)? 如果是,如何使用代码生成器?

我正在将 nu.studer.jooq Gradle 插件 ( https://github.com/etiennestuder/gradle-jooq-plugin ) 与 jooq 3.11.9 和 postgres 数据库结合使用。

// Generator
jooq {
  version = '3.11.9'
  edition = 'OSS'
  sample(sourceSets.main) {
    jdbc {
      driver = 'org.postgresql.Driver'
      url = 'jdbc:postgresql://localhost:5432/mydb'
      user = 'myuser'
      password = 'mypwd'
//      properties {
//        property {
//          key = 'ssl'
//          value = 'true'
//        }
//      }
    }
    generator {
      name = 'org.jooq.codegen.DefaultGenerator'
      strategy {
        name = 'org.jooq.codegen.DefaultGeneratorStrategy'
      }
      database {
        name = 'org.jooq.meta.postgres.PostgresDatabase'
        inputSchema = 'public'
        forcedTypes {
          forcedType {
            name = 'varchar'
            expression = '.*'
            types = 'JSONB?'
          }
          forcedType {
            name = 'varchar'
            expression = '.*'
            types = 'INET'
          }
        }
      }
      generate {
        relations = true
        deprecated = false
        records = true
        immutablePojos = true
        fluentSetters = true
      }
      target {
        packageName = 'com.project.generated'
        directory = 'src/main/java'
      }
    }
  }
}

预先感谢您的想法和建议。

最佳答案

Firstly, is this is a good idea (to generate/use pojo with default constructor and setters) ?

做什么的好主意? jOOQ 代码生成器不会评判您。使用默认构造函数和 getter/setter 是一种受支持的风格。不可变的 POJO 是另一种。

If yes, how is it possible by using the code generator ?

关闭immutablePojos的流派

pojos = true
immutablePojos = false

请注意,您不必将其关闭。默认情况下它们是关闭的。

关于java - 如何使用默认构造函数和 setter 生成 pojo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56993580/

相关文章:

java - 无法使用 JPADatabase 从 H2 生成 Jooq 类

java - Spring ModelAndView.setViewName ("view")在错误位置搜索

java - 带有 $in 和 upsert 的 MongoDB UpdateMany

php - 自动解析PHP将PHP代码从HTML中分离出来

c# - Roslyn 的 ".WithFooToken()"调用是否多余?

java - JOOQ非utf8编码问题

java - 如何在jOOQ中配置乐观锁?

java - 监控elipselink缓存L2,L1

java - 如何说 ant 配置文件位于该文件夹中

c# - 是否存在用于生成源文件的 C# 库?