JOOQ(Java Object Oriented Querying),Java面向对象查询,是一个类型安全的ORM框架
JOOQ使用APT技术,通过分析数据库,对每个数据表和试图生成对应的Bean和查询对象,实现类型安全的ORM操作
SpringBootStarterParent管理了JOOQ依赖,可以不用设置版本号
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jooq</artifactId>
</dependency>
JOOQ需要通过APT动态生成需要的Java类,所以需要配置Maven插件
重要的配置项:
executions.execution.goals.goal
如果需要在mvn compile
的时候执行apt,需要此设置dependencies.dependency
数据库驱动所在包configuration.jdbc
数据库连接配置configuration.generator.database.inputSchema
指定数据库名称configuration.generator.target.packageName
指定输出包名configuration.generator.target.packageName
指定输出位置<build>
<plugins>
<plugin>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen-maven</artifactId>
<version>${jooq.version}</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
</dependencies>
<configuration>
<jdbc>
<url>jdbc:mysql://localhost:3306/foo</url>
<user>root</user>
<password>root</password>
</jdbc>
<generator>
<database>
<includes>.*</includes>
<inputSchema>foo</inputSchema>
</database>
<target>
<packageName>jooq</packageName>
<directory>${basedir}/target/generated-sources/java</directory>
</target>
</generator>
</configuration>
</plugin>
</plugins>
</build>
执行成功后,会在/target/generated-sources
目录下生成所需的Class
package bj.mybatis;
import com.zaxxer.hikari.HikariDataSource;
import jooq.tables.records.UserRecord;
import org.jooq.*;
import org.jooq.conf.ParamType;
import org.jooq.impl.DSL;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Bean;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.annotation.Resource;
import javax.sql.DataSource;
import javax.validation.constraints.NotNull;
import static jooq.tables.User.USER;
/**
* Created by BaiJiFeiLong@gmail.com at 2018/12/11 上午9:57
*/
@SpringBootApplication(exclude = QuartzAutoConfiguration.class)
public class App implements ApplicationListener<ApplicationReadyEvent> {
public static void main(String[] args) {
new SpringApplication(App.class) {{
setWebApplicationType(WebApplicationType.NONE);
}}.run(args);
}
@Resource
private JdbcTemplate jdbcTemplate;
@Override
public void onApplicationEvent(@NotNull ApplicationReadyEvent event) {
initDatabase();
DSLContext dslContext = DSL.using(dataSource, SQLDialect.MYSQL_8_0);
// 插入方式1: 插入对象
UserRecord userRecord = dslContext.newRecord(USER);
userRecord.setUsername("sky");
userRecord.setRealName("九天");
userRecord.insert();
System.out.println("Inserted user: ");
System.out.println(userRecord);
// 插入方式2: 动态插入
dslContext.insertInto(USER).set(USER.USERNAME, "rain").set(USER.REAL_NAME, "暴雨").execute();
// 查询方式1: 查询完整对象
Result<UserRecord> userRecords = dslContext.selectFrom(USER).fetch();
System.out.println("All records: ");
System.out.println(userRecords);
// SEEK分页查询
System.out.println("SEEK:");
dslContext.selectFrom(USER).orderBy(USER.USERNAME.asc(), USER.REAL_NAME.asc()).seek("rain", "暴雨").limit(10).forEach(System.out::println);
// 查询方式2: 查询指定字段
SelectConditionStep<Record1<String>> where = dslContext.select(USER.REAL_NAME).from(USER).where(USER.ID.eq(2));
Record1<String> stringRecord1 = where.fetchOne();
System.out.println("SQL:");
// 打印SQL。在DSL.using()可以不传dataSource,此时JOOQ做纯SQLBuilder
System.out.println(where.getSQL(ParamType.INLINED));
System.out.println("realName: ");
System.out.println(stringRecord1);
}
@Resource
private DataSource dataSource;
private void initDatabase() {
jdbcTemplate.execute("DROP TABLE IF EXISTS user");
jdbcTemplate.execute("CREATE TABLE user(id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(16) UNIQUE ,real_name VARCHAR(32) CHARSET 'utf8')");
}
@Bean
public DataSource dataSource() {
return new HikariDataSource() {{
this.setJdbcUrl("jdbc:mysql://localhost/foo?characterEncoding=utf-8");
this.setUsername("root");
this.setPassword("root");
}};
}
}
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.0.RELEASE)
2018-12-11 15:04:05.021 INFO 18538 --- [ main] bj.mybatis.App : Starting App on MacBook-Air-2.local with PID 18538 (/Users/yuchao/temp/java/hellomaven/target/classes started by yuchao in /Users/yuchao/temp/java/hellomaven)
2018-12-11 15:04:05.027 INFO 18538 --- [ main] bj.mybatis.App : No active profile set, falling back to default profiles: default
2018-12-11 15:04:06.422 WARN 18538 --- [ main] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[bj.mybatis]' package. Please check your configuration.
2018-12-11 15:04:07.529 INFO 18538 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2018-12-11 15:04:07.709 INFO 18538 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2018-12-11 15:04:08.393 WARN 18538 --- [ main] reactor.netty.tcp.TcpResources : [http] resources will use the default LoopResources: DefaultLoopResources {prefix=reactor-http, daemon=true, selectCount=4, workerCount=4}
2018-12-11 15:04:08.393 WARN 18538 --- [ main] reactor.netty.tcp.TcpResources : [http] resources will use the default ConnectionProvider: PooledConnectionProvider {name=http, poolFactory=reactor.netty.resources.ConnectionProvider$$Lambda$282/589610983@112d1c8e}
2018-12-11 15:04:08.645 INFO 18538 --- [ main] bj.mybatis.App : Started App in 4.832 seconds (JVM running for 6.859)
2018-12-11 15:04:08.900 INFO 18538 --- [ main] org.jooq.Constants :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@
@@@@@@@@@@@@@@@@ @@ @@ @@@@@@@@@@
@@@@@@@@@@ @@@@ @@ @@ @@@@@@@@@@
@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@ @@ @@ @@@@ @@@@@@@@@@
@@@@@@@@@@ @@ @@ @@@@ @@@@@@@@@@
@@@@@@@@@@ @@ @ @ @@@@@@@@@@
@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Thank you for using jOOQ 3.11.5
Inserted user:
+----+--------+---------+
| id|username|real_name|
+----+--------+---------+
| 1|sky |九天 |
+----+--------+---------+
All records:
+----+--------+---------+
| id|username|real_name|
+----+--------+---------+
| 1|sky |九天 |
| 2|rain |暴雨 |
+----+--------+---------+
SEEK:
+----+--------+---------+
| id|username|real_name|
+----+--------+---------+
| 1|sky |九天 |
+----+--------+---------+
SQL:
select `foo`.`user`.`real_name` from `foo`.`user` where `foo`.`user`.`id` = 2
realName:
+---------+
|real_name|
+---------+
|暴雨 |
+---------+
2018-12-11 15:04:09.722 INFO 18538 --- [ Thread-16] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2018-12-11 15:04:09.738 INFO 18538 --- [ Thread-16] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
SEEK分页是指拿上次查询的最后一条结果去查询新一页的结果。为了保证分页数据不重复,一般会SEEK两个字段(排序字段+ID)
package io.github.baijifeilong.jooq;
import com.google.common.base.CaseFormat;
import com.zaxxer.hikari.HikariDataSource;
import lombok.SneakyThrows;
import lombok.experimental.FieldNameConstants;
import lombok.extern.slf4j.Slf4j;
import org.jooq.codegen.DefaultGeneratorStrategy;
import org.jooq.codegen.GenerationTool;
import org.jooq.codegen.JavaGenerator;
import org.jooq.codegen.JavaWriter;
import org.jooq.meta.Definition;
import org.jooq.meta.TableDefinition;
import org.jooq.meta.TypedElementDefinition;
import org.jooq.meta.jaxb.*;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyJooqGenerator {
private static void initDatabase() {
JdbcTemplate jdbcTemplate = new JdbcTemplate(new HikariDataSource() {{
setJdbcUrl("jdbc:mysql://localhost");
setUsername("root");
setPassword("root");
}});
jdbcTemplate.execute("DROP SCHEMA IF EXISTS alpha");
jdbcTemplate.execute("DROP SCHEMA IF EXISTS beta");
jdbcTemplate.execute("CREATE SCHEMA alpha");
jdbcTemplate.execute("CREATE SCHEMA beta");
jdbcTemplate.execute("USE alpha");
jdbcTemplate.execute("CREATE TABLE user(id INT AUTO_INCREMENT PRIMARY KEY, username TEXT, real_name TEXT)");
jdbcTemplate.execute("USE beta");
jdbcTemplate.execute("CREATE TABLE bj_animal(id INT AUTO_INCREMENT PRIMARY KEY, name TEXT)");
jdbcTemplate.execute("CREATE TABLE fl_plant(id INT AUTO_INCREMENT PRIMARY KEY, name TEXT)");
}
@SneakyThrows
public static void main(String[] args) {
initDatabase();
GenerationTool.generate(new Configuration()
.withJdbc(new Jdbc()
.withUrl("jdbc:mysql://localhost")
.withUser("root")
.withPassword("root"))
.withGenerator(new Generator()
.withName(MyJavaGenerator.class.getName())
.withDatabase(new Database()
.withSchemata(
new Schema().withInputSchema("alpha"),
new Schema().withInputSchema("information_schema"),
new Schema().withInputSchema("beta"))
.withExcludes(".*\\d+"))
.withStrategy(new Strategy()
.withName(MyStrategy.class.getName()))
.withTarget(new Target()
.withPackageName("io.github.baijifeilong.generated.jooq")
.withDirectory("src/main/java"))));
}
@Slf4j
public static class MyStrategy extends DefaultGeneratorStrategy {
private String[] prefixes = new String[]{"bj", "fl"};
private Pattern pattern = Pattern.compile(String.format("(%s)_(.+)", String.join("|", prefixes)));
@Override
public String getJavaIdentifier(Definition definition) {
if (definition instanceof TableDefinition) {
Matcher matcher = pattern.matcher(definition.getName());
if (matcher.matches()) {
log.info("[JAVA_IDENTIFIER] {} => {}", definition.getName(), matcher.group(2));
return matcher.group(2).toUpperCase();
}
}
return super.getJavaIdentifier(definition);
}
@Override
public String getJavaClassName(Definition definition, Mode mode) {
String name = super.getJavaClassName(definition, mode);
String snakeCaseName = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, name);
Matcher matcher = pattern.matcher(snakeCaseName);
if (!matcher.matches()) {
return name;
}
String newSnakeCaseName = matcher.group(2);
String newName = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, newSnakeCaseName);
log.info("[CLASS_NAME] {} => {}", name, newName);
return newName;
}
}
public static class MyJavaGenerator extends JavaGenerator {
@Override
protected void generateRecordGetter(TypedElementDefinition<?> column, int index, JavaWriter out) {
super.generateRecordGetter(column, index, out);
String camelCase = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, column.getName());
out.print("\n /**\n * Generated by baijifeilong@gmail.com\n */\n private %s %s;\n",
out.ref(getJavaType(column.getType())), camelCase);
}
@Override
protected void generateRecordClassJavadoc(TableDefinition table, JavaWriter out) {
super.generateRecordClassJavadoc(table, out);
out.println("@" + FieldNameConstants.class.getName());
}
}
}
/target/generated-sources
目录下,虽然可以减少项目代码,但是不够灵活,不好配置自定义策略(需要定义在另外的Maven模块),不好在服务器上部署。所以,最好直接用代码生成org.jooq.meta.jaxb.Target#withPackageName
设置生成的包名org.jooq.meta.jaxb.Target#withDirectory
设置生成目录bj.jooq.MyJooqGenerator.MyStrategy#prefixes
配置表前缀。通过自定义策略,处理掉表前缀org.jooq.meta.jaxb.Generator#withName
可以自定义Java代码生成器,比如加入自定义注解.
└── bj
├── generated
│ └── jooq
│ ├── DefaultCatalog.java
│ ├── alpha
│ │ ├── Alpha.java
│ │ ├── Indexes.java
│ │ ├── Keys.java
│ │ ├── Tables.java
│ │ └── tables
│ │ ├── User.java
│ │ └── records
│ │ └── UserRecord.java
│ └── beta
│ ├── Beta.java
│ ├── Indexes.java
│ ├── Keys.java
│ ├── Tables.java
│ └── tables
│ ├── Animal.java
│ ├── Plant.java
│ └── records
│ ├── AnimalRecord.java
│ └── PlantRecord.java
13:54:01.113 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - Executing SQL statement [DROP SCHEMA IF EXISTS alpha]
13:54:01.177 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
13:54:01.178 [main] DEBUG com.zaxxer.hikari.HikariConfig - HikariPool-1 - configuration:
13:54:01.201 [main] DEBUG com.zaxxer.hikari.HikariConfig - allowPoolSuspension.............false
13:54:01.201 [main] DEBUG com.zaxxer.hikari.HikariConfig - autoCommit......................true
13:54:01.202 [main] DEBUG com.zaxxer.hikari.HikariConfig - catalog.........................none
13:54:01.203 [main] DEBUG com.zaxxer.hikari.HikariConfig - connectionInitSql...............none
13:54:01.203 [main] DEBUG com.zaxxer.hikari.HikariConfig - connectionTestQuery.............none
13:54:01.203 [main] DEBUG com.zaxxer.hikari.HikariConfig - connectionTimeout...............30000
13:54:01.203 [main] DEBUG com.zaxxer.hikari.HikariConfig - dataSource......................none
13:54:01.204 [main] DEBUG com.zaxxer.hikari.HikariConfig - dataSourceClassName.............none
13:54:01.204 [main] DEBUG com.zaxxer.hikari.HikariConfig - dataSourceJNDI..................none
13:54:01.347 [main] DEBUG com.zaxxer.hikari.HikariConfig - dataSourceProperties............{password=<masked>}
13:54:01.347 [main] DEBUG com.zaxxer.hikari.HikariConfig - driverClassName.................none
13:54:01.347 [main] DEBUG com.zaxxer.hikari.HikariConfig - healthCheckProperties...........{}
13:54:01.348 [main] DEBUG com.zaxxer.hikari.HikariConfig - healthCheckRegistry.............none
13:54:01.348 [main] DEBUG com.zaxxer.hikari.HikariConfig - idleTimeout.....................600000
13:54:01.349 [main] DEBUG com.zaxxer.hikari.HikariConfig - initializationFailTimeout.......1
13:54:01.350 [main] DEBUG com.zaxxer.hikari.HikariConfig - isolateInternalQueries..........false
13:54:01.350 [main] DEBUG com.zaxxer.hikari.HikariConfig - jdbcUrl.........................jdbc:mysql://localhost
13:54:01.350 [main] DEBUG com.zaxxer.hikari.HikariConfig - leakDetectionThreshold..........0
13:54:01.351 [main] DEBUG com.zaxxer.hikari.HikariConfig - maxLifetime.....................1800000
13:54:01.351 [main] DEBUG com.zaxxer.hikari.HikariConfig - maximumPoolSize.................10
13:54:01.351 [main] DEBUG com.zaxxer.hikari.HikariConfig - metricRegistry..................none
13:54:01.351 [main] DEBUG com.zaxxer.hikari.HikariConfig - metricsTrackerFactory...........none
13:54:01.351 [main] DEBUG com.zaxxer.hikari.HikariConfig - minimumIdle.....................10
13:54:01.352 [main] DEBUG com.zaxxer.hikari.HikariConfig - password........................<masked>
13:54:01.352 [main] DEBUG com.zaxxer.hikari.HikariConfig - poolName........................"HikariPool-1"
13:54:01.352 [main] DEBUG com.zaxxer.hikari.HikariConfig - readOnly........................false
13:54:01.352 [main] DEBUG com.zaxxer.hikari.HikariConfig - registerMbeans..................false
13:54:01.353 [main] DEBUG com.zaxxer.hikari.HikariConfig - scheduledExecutor...............none
13:54:01.353 [main] DEBUG com.zaxxer.hikari.HikariConfig - schema..........................none
13:54:01.353 [main] DEBUG com.zaxxer.hikari.HikariConfig - threadFactory...................internal
13:54:01.353 [main] DEBUG com.zaxxer.hikari.HikariConfig - transactionIsolation............default
13:54:01.353 [main] DEBUG com.zaxxer.hikari.HikariConfig - username........................"root"
13:54:01.353 [main] DEBUG com.zaxxer.hikari.HikariConfig - validationTimeout...............5000
13:54:01.353 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
13:54:01.419 [main] DEBUG com.zaxxer.hikari.util.DriverDataSource - Loaded driver with class name com.mysql.cj.jdbc.Driver for jdbcUrl=jdbc:mysql://localhost
13:54:02.055 [main] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@1a052a00
13:54:02.058 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
13:54:02.100 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - SQLWarning ignored: SQL state 'HY000', error code '1008', message [Can't drop database 'alpha'; database doesn't exist]
13:54:02.106 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
13:54:02.133 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - Executing SQL statement [DROP SCHEMA IF EXISTS beta]
13:54:02.135 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
13:54:02.138 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - SQLWarning ignored: SQL state 'HY000', error code '1008', message [Can't drop database 'beta'; database doesn't exist]
13:54:02.139 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
13:54:02.139 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - Executing SQL statement [CREATE SCHEMA alpha]
13:54:02.139 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
13:54:02.144 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
13:54:02.145 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - Executing SQL statement [CREATE SCHEMA beta]
13:54:02.145 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
13:54:02.148 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
13:54:02.148 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - Executing SQL statement [USE alpha]
13:54:02.148 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
13:54:02.150 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
13:54:02.150 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - Executing SQL statement [CREATE TABLE user(id INT AUTO_INCREMENT PRIMARY KEY, username TEXT, real_name TEXT)]
13:54:02.150 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
13:54:02.161 [HikariPool-1 housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Pool stats (total=1, active=1, idle=0, waiting=0)
13:54:02.168 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@17db162
13:54:02.174 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@4040bb59
13:54:02.196 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@714adcab
13:54:02.205 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@206f4416
13:54:02.216 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@1ee8f252
13:54:02.221 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
13:54:02.221 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - Executing SQL statement [USE beta]
13:54:02.221 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
13:54:02.223 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
13:54:02.223 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - Executing SQL statement [CREATE TABLE bj_animal(id INT AUTO_INCREMENT PRIMARY KEY, name TEXT)]
13:54:02.223 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
13:54:02.223 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@242198d0
13:54:02.234 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@356cf843
13:54:02.240 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@74d41db7
13:54:02.249 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@232fad77
13:54:02.249 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - After adding stats (total=10, active=1, idle=9, waiting=0)
13:54:02.261 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
13:54:02.262 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - Executing SQL statement [CREATE TABLE fl_plant(id INT AUTO_INCREMENT PRIMARY KEY, name TEXT)]
13:54:02.278 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
13:54:02.332 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
13:54:02.366 [main] DEBUG org.jooq.codegen.GenerationTool - Input configuration : <jdbc><url>jdbc:mysql://localhost</url><user>root</user><password>root</password></jdbc><generator><name>org.jooq.codegen.DefaultGenerator</name><strategy><name>bj.jooq.MyJooqGenerator$MyStrategy</name></strategy><database><includes>.*</includes><excludes>.*\d+</excludes><includeExcludeColumns>false</includeExcludeColumns><includeTables>true</includeTables><includeRoutines>true</includeRoutines><includeTriggerRoutines>false</includeTriggerRoutines><includePackages>true</includePackages><includePackageRoutines>true</includePackageRoutines><includePackageUDTs>true</includePackageUDTs><includePackageConstants>true</includePackageConstants><includeUDTs>true</includeUDTs><includeSequences>true</includeSequences><includeIndexes>true</includeIndexes><includePrimaryKeys>true</includePrimaryKeys><includeUniqueKeys>true</includeUniqueKeys><includeForeignKeys>true</includeForeignKeys><recordVersionFields></recordVersionFields><recordTimestampFields></recordTimestampFields><syntheticIdentities></syntheticIdentities><syntheticPrimaryKeys></syntheticPrimaryKeys><overridePrimaryKeys></overridePrimaryKeys><dateAsTimestamp>false</dateAsTimestamp><ignoreProcedureReturnValues>false</ignoreProcedureReturnValues><unsignedTypes>true</unsignedTypes><inputCatalog></inputCatalog><outputCatalogToDefault>false</outputCatalogToDefault><inputSchema></inputSchema><outputSchemaToDefault>false</outputSchemaToDefault><schemaVersionProvider></schemaVersionProvider><catalogVersionProvider></catalogVersionProvider><orderProvider></orderProvider><forceIntegerTypesOnZeroScaleDecimals>true</forceIntegerTypesOnZeroScaleDecimals><logSlowQueriesAfterSeconds>5</logSlowQueriesAfterSeconds><schemata><schema><inputSchema>alpha</inputSchema><outputSchemaToDefault>false</outputSchemaToDefault></schema><schema><inputSchema>beta</inputSchema><outputSchemaToDefault>false</outputSchemaToDefault></schema></schemata></database><target><packageName>bj.generated.jooq</packageName><directory>src/main/java</directory><encoding>UTF-8</encoding><clean>true</clean></target></generator>
13:54:02.370 [main] INFO org.jooq.codegen.GenerationTool - Database : Inferring driver com.mysql.jdbc.Driver from URL jdbc:mysql://localhost
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
13:54:02.621 [main] INFO org.jooq.codegen.GenerationTool - Database : Inferring database org.jooq.meta.mysql.MySQLDatabase from URL jdbc:mysql://localhost
13:54:02.644 [main] INFO org.jooq.codegen.GenerationTool - No <inputCatalog/> was provided. Generating ALL available catalogs instead.
13:54:02.665 [main] INFO org.jooq.codegen.AbstractGenerator - License parameters
13:54:02.665 [main] INFO org.jooq.codegen.AbstractGenerator - ----------------------------------------------------------
13:54:02.669 [main] INFO org.jooq.codegen.AbstractGenerator - Thank you for using jOOQ and jOOQ's code generator
13:54:02.669 [main] INFO org.jooq.codegen.AbstractGenerator -
13:54:02.669 [main] INFO org.jooq.codegen.AbstractGenerator - Database parameters
13:54:02.669 [main] INFO org.jooq.codegen.AbstractGenerator - ----------------------------------------------------------
13:54:03.207 [main] INFO org.jooq.codegen.AbstractGenerator - dialect : MYSQL
13:54:03.207 [main] INFO org.jooq.codegen.AbstractGenerator - URL : jdbc:mysql://localhost
13:54:03.207 [main] INFO org.jooq.codegen.AbstractGenerator - target dir : src/main/java
13:54:03.207 [main] INFO org.jooq.codegen.AbstractGenerator - target package : bj.generated.jooq
13:54:03.207 [main] INFO org.jooq.codegen.AbstractGenerator - includes : [.*]
13:54:03.207 [main] INFO org.jooq.codegen.AbstractGenerator - excludes : [.*\d+]
13:54:03.207 [main] INFO org.jooq.codegen.AbstractGenerator - includeExcludeColumns : false
13:54:03.207 [main] INFO org.jooq.codegen.AbstractGenerator - ----------------------------------------------------------
13:54:03.207 [main] INFO org.jooq.codegen.JavaGenerator -
13:54:03.207 [main] INFO org.jooq.codegen.JavaGenerator - JavaGenerator parameters
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - ----------------------------------------------------------
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - annotations (generated): true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - annotations (JPA: any) : false
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - annotations (JPA: version):
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - annotations (validation): false
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on attributes : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on catalogs : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on columns : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on keys : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on links : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on packages : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on parameters : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on queues : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on routines : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on schemas : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on sequences : true
13:54:03.208 [main] INFO org.jooq.codegen.JavaGenerator - comments on tables : true
13:54:03.209 [main] INFO org.jooq.codegen.JavaGenerator - comments on udts : true
13:54:03.209 [main] INFO org.jooq.codegen.JavaGenerator - daos : false
13:54:03.209 [main] INFO org.jooq.codegen.JavaGenerator - deprecated code : true
13:54:03.209 [main] INFO org.jooq.codegen.JavaGenerator - global references (any): true
13:54:03.209 [main] INFO org.jooq.codegen.JavaGenerator - global references (catalogs): true
13:54:03.209 [main] INFO org.jooq.codegen.JavaGenerator - global references (keys): true
13:54:03.209 [main] INFO org.jooq.codegen.JavaGenerator - global references (links): true
13:54:03.209 [main] INFO org.jooq.codegen.JavaGenerator - global references (queues): true
13:54:03.210 [main] INFO org.jooq.codegen.JavaGenerator - global references (routines): true
13:54:03.210 [main] INFO org.jooq.codegen.JavaGenerator - global references (schemas): true
13:54:03.210 [main] INFO org.jooq.codegen.JavaGenerator - global references (sequences): true
13:54:03.210 [main] INFO org.jooq.codegen.JavaGenerator - global references (tables): true
13:54:03.211 [main] INFO org.jooq.codegen.JavaGenerator - global references (udts): true
13:54:03.211 [main] INFO org.jooq.codegen.JavaGenerator - indexes : true
13:54:03.211 [main] INFO org.jooq.codegen.JavaGenerator - instance fields : true
13:54:03.212 [main] INFO org.jooq.codegen.JavaGenerator - interfaces : false
13:54:03.212 [main] INFO org.jooq.codegen.JavaGenerator - interfaces (immutable) : false
13:54:03.212 [main] INFO org.jooq.codegen.JavaGenerator - javadoc : true
13:54:03.214 [main] INFO org.jooq.codegen.JavaGenerator - keys : true
13:54:03.215 [main] INFO org.jooq.codegen.JavaGenerator - links : true
13:54:03.215 [main] INFO org.jooq.codegen.JavaGenerator - pojos : false
13:54:03.215 [main] INFO org.jooq.codegen.JavaGenerator - pojos (immutable) : false
13:54:03.216 [main] INFO org.jooq.codegen.JavaGenerator - queues : true
13:54:03.216 [main] INFO org.jooq.codegen.JavaGenerator - records : true
13:54:03.216 [main] INFO org.jooq.codegen.JavaGenerator - routines : true
13:54:03.216 [main] INFO org.jooq.codegen.JavaGenerator - sequences : true
13:54:03.216 [main] INFO org.jooq.codegen.JavaGenerator - table-valued functions : true
13:54:03.216 [main] INFO org.jooq.codegen.JavaGenerator - tables : true
13:54:03.217 [main] INFO org.jooq.codegen.JavaGenerator - udts : true
13:54:03.217 [main] INFO org.jooq.codegen.JavaGenerator - relations : true
13:54:03.217 [main] INFO org.jooq.codegen.JavaGenerator - ----------------------------------------------------------
13:54:03.217 [main] INFO org.jooq.codegen.JavaGenerator -
13:54:03.217 [main] INFO org.jooq.codegen.AbstractGenerator - Generation remarks
13:54:03.217 [main] INFO org.jooq.codegen.AbstractGenerator - ----------------------------------------------------------
13:54:03.217 [main] INFO org.jooq.codegen.JavaGenerator -
13:54:03.217 [main] INFO org.jooq.codegen.JavaGenerator - ----------------------------------------------------------
13:54:03.221 [main] INFO org.jooq.codegen.JavaGenerator - Generating catalogs : Total: 1
13:54:03.836 [main] INFO org.jooq.Constants -
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@
@@@@@@@@@@@@@@@@ @@ @@ @@@@@@@@@@
@@@@@@@@@@ @@@@ @@ @@ @@@@@@@@@@
@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@ @@ @@ @@@@ @@@@@@@@@@
@@@@@@@@@@ @@ @@ @@@@ @@@@@@@@@@
@@@@@@@@@@ @@ @ @ @@@@@@@@@@
@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Thank you for using jOOQ 3.11.5
13:54:03.947 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select 1 as `one` from dual
13:54:04.059 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +----+
13:54:04.059 [main] DEBUG org.jooq.tools.LoggerListener - : | one|
13:54:04.059 [main] DEBUG org.jooq.tools.LoggerListener - : +----+
13:54:04.059 [main] DEBUG org.jooq.tools.LoggerListener - : | 1|
13:54:04.059 [main] DEBUG org.jooq.tools.LoggerListener - : +----+
13:54:04.059 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 1
13:54:04.067 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `information_schema`.`SCHEMATA`.`SCHEMA_NAME` from `information_schema`.`SCHEMATA`
13:54:04.069 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +------------------+
13:54:04.070 [main] DEBUG org.jooq.tools.LoggerListener - : |SCHEMA_NAME |
13:54:04.070 [main] DEBUG org.jooq.tools.LoggerListener - : +------------------+
13:54:04.070 [main] DEBUG org.jooq.tools.LoggerListener - : |information_schema|
13:54:04.070 [main] DEBUG org.jooq.tools.LoggerListener - : |alpha |
13:54:04.070 [main] DEBUG org.jooq.tools.LoggerListener - : |base |
13:54:04.070 [main] DEBUG org.jooq.tools.LoggerListener - : |beta |
13:54:04.070 [main] DEBUG org.jooq.tools.LoggerListener - : |bootSeed-cms |
13:54:04.070 [main] DEBUG org.jooq.tools.LoggerListener - : +------------------+
13:54:04.070 [main] DEBUG org.jooq.tools.LoggerListener - : |...record(s) truncated...
13:54:04.070 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 15
13:54:04.070 [main] INFO org.jooq.meta.AbstractDatabase - ARRAYs fetched : 0 (0 included, 0 excluded)
13:54:04.080 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `information_schema`.`COLUMNS`.`TABLE_SCHEMA`, `information_schema`.`COLUMNS`.`COLUMN_COMMENT`, `information_schema`.`COLUMNS`.`TABLE_NAME`, `information_schema`.`COLUMNS`.`COLUMN_NAME`, `information_schema`.`COLUMNS`.`COLUMN_TYPE` from `information_schema`.`COLUMNS` where (`information_schema`.`COLUMNS`.`COLUMN_TYPE` like ? and (`information_schema`.`COLUMNS`.`TABLE_SCHEMA` in (?, ?) or 1 = 0)) order by `information_schema`.`COLUMNS`.`TABLE_SCHEMA` asc, `information_schema`.`COLUMNS`.`TABLE_NAME` asc, `information_schema`.`COLUMNS`.`COLUMN_NAME` asc
13:54:04.082 [main] DEBUG org.jooq.tools.LoggerListener - -> with bind values : select `information_schema`.`COLUMNS`.`TABLE_SCHEMA`, `information_schema`.`COLUMNS`.`COLUMN_COMMENT`, `information_schema`.`COLUMNS`.`TABLE_NAME`, `information_schema`.`COLUMNS`.`COLUMN_NAME`, `information_schema`.`COLUMNS`.`COLUMN_TYPE` from `information_schema`.`COLUMNS` where (`information_schema`.`COLUMNS`.`COLUMN_TYPE` like 'enum(%)' and (`information_schema`.`COLUMNS`.`TABLE_SCHEMA` in ('alpha', 'beta') or 1 = 0)) order by `information_schema`.`COLUMNS`.`TABLE_SCHEMA` asc, `information_schema`.`COLUMNS`.`TABLE_NAME` asc, `information_schema`.`COLUMNS`.`COLUMN_NAME` asc
13:54:04.101 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +------------+--------------+----------+-----------+-----------+
13:54:04.101 [main] DEBUG org.jooq.tools.LoggerListener - : |TABLE_SCHEMA|COLUMN_COMMENT|TABLE_NAME|COLUMN_NAME|COLUMN_TYPE|
13:54:04.101 [main] DEBUG org.jooq.tools.LoggerListener - : +------------+--------------+----------+-----------+-----------+
13:54:04.102 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 0
13:54:04.102 [main] INFO org.jooq.meta.AbstractDatabase - Enums fetched : 0 (0 included, 0 excluded)
13:54:04.103 [main] INFO org.jooq.meta.AbstractDatabase - Packages fetched : 0 (0 included, 0 excluded)
13:54:04.115 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select 1 as `one` from dual where exists (select 1 as `one` from `mysql`.`proc`)
13:54:04.118 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +----+
13:54:04.118 [main] DEBUG org.jooq.tools.LoggerListener - : | one|
13:54:04.118 [main] DEBUG org.jooq.tools.LoggerListener - : +----+
13:54:04.118 [main] DEBUG org.jooq.tools.LoggerListener - : | 1|
13:54:04.118 [main] DEBUG org.jooq.tools.LoggerListener - : +----+
13:54:04.118 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 1
13:54:04.119 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `mysql`.`proc`.`db` as `ROUTINE_SCHEMA`, `mysql`.`proc`.`name` as `ROUTINE_NAME`, `mysql`.`proc`.`comment` as `ROUTINE_COMMENT`, `mysql`.`proc`.`param_list`, `mysql`.`proc`.`returns`, `mysql`.`proc`.`type` as `ROUTINE_TYPE` from `mysql`.`proc` where `mysql`.`proc`.`db` in (?, ?) order by 1, 2, 6
13:54:04.121 [main] DEBUG org.jooq.tools.LoggerListener - -> with bind values : select `mysql`.`proc`.`db` as `ROUTINE_SCHEMA`, `mysql`.`proc`.`name` as `ROUTINE_NAME`, `mysql`.`proc`.`comment` as `ROUTINE_COMMENT`, `mysql`.`proc`.`param_list`, `mysql`.`proc`.`returns`, `mysql`.`proc`.`type` as `ROUTINE_TYPE` from `mysql`.`proc` where `mysql`.`proc`.`db` in ('alpha', 'beta') order by 1, 2, 6
13:54:04.123 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +--------------+------------+---------------+----------+-------+------------+
13:54:04.123 [main] DEBUG org.jooq.tools.LoggerListener - : |ROUTINE_SCHEMA|ROUTINE_NAME|ROUTINE_COMMENT|param_list|returns|ROUTINE_TYPE|
13:54:04.123 [main] DEBUG org.jooq.tools.LoggerListener - : +--------------+------------+---------------+----------+-------+------------+
13:54:04.123 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 0
13:54:04.123 [main] INFO org.jooq.meta.AbstractDatabase - Routines fetched : 0 (0 included, 0 excluded)
13:54:04.124 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `information_schema`.`TABLES`.`TABLE_SCHEMA`, `information_schema`.`TABLES`.`TABLE_NAME`, `information_schema`.`TABLES`.`TABLE_COMMENT` from `information_schema`.`TABLES` where (`information_schema`.`TABLES`.`TABLE_SCHEMA` in (?, ?) or 1 = 0) order by `information_schema`.`TABLES`.`TABLE_SCHEMA`, `information_schema`.`TABLES`.`TABLE_NAME`
13:54:04.125 [main] DEBUG org.jooq.tools.LoggerListener - -> with bind values : select `information_schema`.`TABLES`.`TABLE_SCHEMA`, `information_schema`.`TABLES`.`TABLE_NAME`, `information_schema`.`TABLES`.`TABLE_COMMENT` from `information_schema`.`TABLES` where (`information_schema`.`TABLES`.`TABLE_SCHEMA` in ('alpha', 'beta') or 1 = 0) order by `information_schema`.`TABLES`.`TABLE_SCHEMA`, `information_schema`.`TABLES`.`TABLE_NAME`
13:54:04.129 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +------------+----------+-------------+
13:54:04.130 [main] DEBUG org.jooq.tools.LoggerListener - : |TABLE_SCHEMA|TABLE_NAME|TABLE_COMMENT|
13:54:04.130 [main] DEBUG org.jooq.tools.LoggerListener - : +------------+----------+-------------+
13:54:04.130 [main] DEBUG org.jooq.tools.LoggerListener - : |alpha |user | |
13:54:04.130 [main] DEBUG org.jooq.tools.LoggerListener - : |beta |bj_animal | |
13:54:04.130 [main] DEBUG org.jooq.tools.LoggerListener - : |beta |fl_plant | |
13:54:04.130 [main] DEBUG org.jooq.tools.LoggerListener - : +------------+----------+-------------+
13:54:04.130 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 3
13:54:04.159 [main] DEBUG org.jooq.meta.AbstractDatabase - Include : Including alpha.user because of pattern .*
13:54:04.159 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.159 [main] DEBUG org.jooq.meta.AbstractDatabase - Include : Including beta.bj_animal because of pattern .*
13:54:04.159 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.159 [main] DEBUG org.jooq.meta.AbstractDatabase - Include : Including beta.fl_plant because of pattern .*
13:54:04.159 [main] INFO org.jooq.meta.AbstractDatabase - Tables fetched : 3 (3 included, 0 excluded)
13:54:04.159 [main] INFO org.jooq.codegen.JavaGenerator - No schema version is applied for catalog . Regenerating.
13:54:04.161 [main] INFO org.jooq.codegen.JavaGenerator -
13:54:04.161 [main] INFO org.jooq.codegen.JavaGenerator - Generating catalog : DefaultCatalog.java
13:54:04.161 [main] INFO org.jooq.codegen.JavaGenerator - ==========================================================
13:54:04.178 [main] INFO org.jooq.codegen.JavaGenerator - Generating schemata : Total: 2
13:54:04.178 [main] INFO org.jooq.codegen.JavaGenerator - No schema version is applied for schema alpha. Regenerating.
13:54:04.178 [main] INFO org.jooq.codegen.JavaGenerator - Generating schema : Alpha.java
13:54:04.178 [main] INFO org.jooq.codegen.JavaGenerator - ----------------------------------------------------------
13:54:04.180 [main] INFO org.jooq.meta.AbstractDatabase - Sequences fetched : 0 (0 included, 0 excluded)
13:54:04.182 [main] INFO org.jooq.meta.AbstractDatabase - UDTs fetched : 0 (0 included, 0 excluded)
13:54:04.185 [main] INFO org.jooq.codegen.JavaGenerator - Generating tables
13:54:04.189 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `information_schema`.`COLUMNS`.`ORDINAL_POSITION`, `information_schema`.`COLUMNS`.`COLUMN_NAME`, `information_schema`.`COLUMNS`.`COLUMN_COMMENT`, `information_schema`.`COLUMNS`.`COLUMN_TYPE`, `information_schema`.`COLUMNS`.`DATA_TYPE`, `information_schema`.`COLUMNS`.`IS_NULLABLE`, `information_schema`.`COLUMNS`.`COLUMN_DEFAULT`, `information_schema`.`COLUMNS`.`CHARACTER_MAXIMUM_LENGTH`, `information_schema`.`COLUMNS`.`NUMERIC_PRECISION`, `information_schema`.`COLUMNS`.`NUMERIC_SCALE`, `information_schema`.`COLUMNS`.`EXTRA` from `information_schema`.`COLUMNS` where (`information_schema`.`COLUMNS`.`TABLE_SCHEMA` in (?, ?) and `information_schema`.`COLUMNS`.`TABLE_NAME` = ?) order by `information_schema`.`COLUMNS`.`ORDINAL_POSITION`
13:54:04.190 [main] DEBUG org.jooq.tools.LoggerListener - -> with bind values : select `information_schema`.`COLUMNS`.`ORDINAL_POSITION`, `information_schema`.`COLUMNS`.`COLUMN_NAME`, `information_schema`.`COLUMNS`.`COLUMN_COMMENT`, `information_schema`.`COLUMNS`.`COLUMN_TYPE`, `information_schema`.`COLUMNS`.`DATA_TYPE`, `information_schema`.`COLUMNS`.`IS_NULLABLE`, `information_schema`.`COLUMNS`.`COLUMN_DEFAULT`, `information_schema`.`COLUMNS`.`CHARACTER_MAXIMUM_LENGTH`, `information_schema`.`COLUMNS`.`NUMERIC_PRECISION`, `information_schema`.`COLUMNS`.`NUMERIC_SCALE`, `information_schema`.`COLUMNS`.`EXTRA` from `information_schema`.`COLUMNS` where (`information_schema`.`COLUMNS`.`TABLE_SCHEMA` in ('alpha', 'alpha') and `information_schema`.`COLUMNS`.`TABLE_NAME` = 'user') order by `information_schema`.`COLUMNS`.`ORDINAL_POSITION`
13:54:04.203 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +----------------+-----------+--------------+-----------+---------+-----------+--------------+------------------------+-----------------+-------------+--------------+
13:54:04.203 [main] DEBUG org.jooq.tools.LoggerListener - : |ORDINAL_POSITION|COLUMN_NAME|COLUMN_COMMENT|COLUMN_TYPE|DATA_TYPE|IS_NULLABLE|COLUMN_DEFAULT|CHARACTER_MAXIMUM_LENGTH|NUMERIC_PRECISION|NUMERIC_SCALE|EXTRA |
13:54:04.203 [main] DEBUG org.jooq.tools.LoggerListener - : +----------------+-----------+--------------+-----------+---------+-----------+--------------+------------------------+-----------------+-------------+--------------+
13:54:04.203 [main] DEBUG org.jooq.tools.LoggerListener - : | 1|id | |int(11) |int |NO |{null} | {null}| 10| 0|auto_increment|
13:54:04.203 [main] DEBUG org.jooq.tools.LoggerListener - : | 2|username | |text |text |YES |{null} | 65535| {null}| {null}| |
13:54:04.203 [main] DEBUG org.jooq.tools.LoggerListener - : | 3|real_name | |text |text |YES |{null} | 65535| {null}| {null}| |
13:54:04.203 [main] DEBUG org.jooq.tools.LoggerListener - : +----------------+-----------+--------------+-----------+---------+-----------+--------------+------------------------+-----------------+-------------+--------------+
13:54:04.203 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 3
13:54:04.211 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`COLUMN_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME` from `information_schema`.`STATISTICS` where ((`information_schema`.`STATISTICS`.`TABLE_SCHEMA` in (?, ?) or 1 = 0) and `information_schema`.`STATISTICS`.`INDEX_NAME` = 'PRIMARY') order by `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME`, `information_schema`.`STATISTICS`.`SEQ_IN_INDEX`
13:54:04.212 [main] DEBUG org.jooq.tools.LoggerListener - -> with bind values : select `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`COLUMN_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME` from `information_schema`.`STATISTICS` where ((`information_schema`.`STATISTICS`.`TABLE_SCHEMA` in ('alpha', 'beta') or 1 = 0) and `information_schema`.`STATISTICS`.`INDEX_NAME` = 'PRIMARY') order by `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME`, `information_schema`.`STATISTICS`.`SEQ_IN_INDEX`
13:54:04.216 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +------------+----------+-----------+----------+
13:54:04.216 [main] DEBUG org.jooq.tools.LoggerListener - : |TABLE_SCHEMA|TABLE_NAME|COLUMN_NAME|INDEX_NAME|
13:54:04.216 [main] DEBUG org.jooq.tools.LoggerListener - : +------------+----------+-----------+----------+
13:54:04.216 [main] DEBUG org.jooq.tools.LoggerListener - : |alpha |user |id |PRIMARY |
13:54:04.216 [main] DEBUG org.jooq.tools.LoggerListener - : |beta |bj_animal |id |PRIMARY |
13:54:04.216 [main] DEBUG org.jooq.tools.LoggerListener - : |beta |fl_plant |id |PRIMARY |
13:54:04.216 [main] DEBUG org.jooq.tools.LoggerListener - : +------------+----------+-----------+----------+
13:54:04.216 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 3
13:54:04.216 [main] DEBUG org.jooq.meta.DefaultRelations - Adding primary key : KEY_user_PRIMARY (alpha.user.id)
13:54:04.219 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `information_schema`.`COLUMNS`.`ORDINAL_POSITION`, `information_schema`.`COLUMNS`.`COLUMN_NAME`, `information_schema`.`COLUMNS`.`COLUMN_COMMENT`, `information_schema`.`COLUMNS`.`COLUMN_TYPE`, `information_schema`.`COLUMNS`.`DATA_TYPE`, `information_schema`.`COLUMNS`.`IS_NULLABLE`, `information_schema`.`COLUMNS`.`COLUMN_DEFAULT`, `information_schema`.`COLUMNS`.`CHARACTER_MAXIMUM_LENGTH`, `information_schema`.`COLUMNS`.`NUMERIC_PRECISION`, `information_schema`.`COLUMNS`.`NUMERIC_SCALE`, `information_schema`.`COLUMNS`.`EXTRA` from `information_schema`.`COLUMNS` where (`information_schema`.`COLUMNS`.`TABLE_SCHEMA` in (?, ?) and `information_schema`.`COLUMNS`.`TABLE_NAME` = ?) order by `information_schema`.`COLUMNS`.`ORDINAL_POSITION`
13:54:04.220 [main] DEBUG org.jooq.tools.LoggerListener - -> with bind values : select `information_schema`.`COLUMNS`.`ORDINAL_POSITION`, `information_schema`.`COLUMNS`.`COLUMN_NAME`, `information_schema`.`COLUMNS`.`COLUMN_COMMENT`, `information_schema`.`COLUMNS`.`COLUMN_TYPE`, `information_schema`.`COLUMNS`.`DATA_TYPE`, `information_schema`.`COLUMNS`.`IS_NULLABLE`, `information_schema`.`COLUMNS`.`COLUMN_DEFAULT`, `information_schema`.`COLUMNS`.`CHARACTER_MAXIMUM_LENGTH`, `information_schema`.`COLUMNS`.`NUMERIC_PRECISION`, `information_schema`.`COLUMNS`.`NUMERIC_SCALE`, `information_schema`.`COLUMNS`.`EXTRA` from `information_schema`.`COLUMNS` where (`information_schema`.`COLUMNS`.`TABLE_SCHEMA` in ('beta', 'beta') and `information_schema`.`COLUMNS`.`TABLE_NAME` = 'bj_animal') order by `information_schema`.`COLUMNS`.`ORDINAL_POSITION`
13:54:04.224 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +----------------+-----------+--------------+-----------+---------+-----------+--------------+------------------------+-----------------+-------------+--------------+
13:54:04.224 [main] DEBUG org.jooq.tools.LoggerListener - : |ORDINAL_POSITION|COLUMN_NAME|COLUMN_COMMENT|COLUMN_TYPE|DATA_TYPE|IS_NULLABLE|COLUMN_DEFAULT|CHARACTER_MAXIMUM_LENGTH|NUMERIC_PRECISION|NUMERIC_SCALE|EXTRA |
13:54:04.224 [main] DEBUG org.jooq.tools.LoggerListener - : +----------------+-----------+--------------+-----------+---------+-----------+--------------+------------------------+-----------------+-------------+--------------+
13:54:04.224 [main] DEBUG org.jooq.tools.LoggerListener - : | 1|id | |int(11) |int |NO |{null} | {null}| 10| 0|auto_increment|
13:54:04.224 [main] DEBUG org.jooq.tools.LoggerListener - : | 2|name | |text |text |YES |{null} | 65535| {null}| {null}| |
13:54:04.224 [main] DEBUG org.jooq.tools.LoggerListener - : +----------------+-----------+--------------+-----------+---------+-----------+--------------+------------------------+-----------------+-------------+--------------+
13:54:04.224 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 2
13:54:04.224 [main] DEBUG org.jooq.meta.DefaultRelations - Adding primary key : KEY_bj_animal_PRIMARY (beta.bj_animal.id)
13:54:04.225 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `information_schema`.`COLUMNS`.`ORDINAL_POSITION`, `information_schema`.`COLUMNS`.`COLUMN_NAME`, `information_schema`.`COLUMNS`.`COLUMN_COMMENT`, `information_schema`.`COLUMNS`.`COLUMN_TYPE`, `information_schema`.`COLUMNS`.`DATA_TYPE`, `information_schema`.`COLUMNS`.`IS_NULLABLE`, `information_schema`.`COLUMNS`.`COLUMN_DEFAULT`, `information_schema`.`COLUMNS`.`CHARACTER_MAXIMUM_LENGTH`, `information_schema`.`COLUMNS`.`NUMERIC_PRECISION`, `information_schema`.`COLUMNS`.`NUMERIC_SCALE`, `information_schema`.`COLUMNS`.`EXTRA` from `information_schema`.`COLUMNS` where (`information_schema`.`COLUMNS`.`TABLE_SCHEMA` in (?, ?) and `information_schema`.`COLUMNS`.`TABLE_NAME` = ?) order by `information_schema`.`COLUMNS`.`ORDINAL_POSITION`
13:54:04.226 [main] DEBUG org.jooq.tools.LoggerListener - -> with bind values : select `information_schema`.`COLUMNS`.`ORDINAL_POSITION`, `information_schema`.`COLUMNS`.`COLUMN_NAME`, `information_schema`.`COLUMNS`.`COLUMN_COMMENT`, `information_schema`.`COLUMNS`.`COLUMN_TYPE`, `information_schema`.`COLUMNS`.`DATA_TYPE`, `information_schema`.`COLUMNS`.`IS_NULLABLE`, `information_schema`.`COLUMNS`.`COLUMN_DEFAULT`, `information_schema`.`COLUMNS`.`CHARACTER_MAXIMUM_LENGTH`, `information_schema`.`COLUMNS`.`NUMERIC_PRECISION`, `information_schema`.`COLUMNS`.`NUMERIC_SCALE`, `information_schema`.`COLUMNS`.`EXTRA` from `information_schema`.`COLUMNS` where (`information_schema`.`COLUMNS`.`TABLE_SCHEMA` in ('beta', 'beta') and `information_schema`.`COLUMNS`.`TABLE_NAME` = 'fl_plant') order by `information_schema`.`COLUMNS`.`ORDINAL_POSITION`
13:54:04.229 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +----------------+-----------+--------------+-----------+---------+-----------+--------------+------------------------+-----------------+-------------+--------------+
13:54:04.229 [main] DEBUG org.jooq.tools.LoggerListener - : |ORDINAL_POSITION|COLUMN_NAME|COLUMN_COMMENT|COLUMN_TYPE|DATA_TYPE|IS_NULLABLE|COLUMN_DEFAULT|CHARACTER_MAXIMUM_LENGTH|NUMERIC_PRECISION|NUMERIC_SCALE|EXTRA |
13:54:04.229 [main] DEBUG org.jooq.tools.LoggerListener - : +----------------+-----------+--------------+-----------+---------+-----------+--------------+------------------------+-----------------+-------------+--------------+
13:54:04.229 [main] DEBUG org.jooq.tools.LoggerListener - : | 1|id | |int(11) |int |NO |{null} | {null}| 10| 0|auto_increment|
13:54:04.229 [main] DEBUG org.jooq.tools.LoggerListener - : | 2|name | |text |text |YES |{null} | 65535| {null}| {null}| |
13:54:04.229 [main] DEBUG org.jooq.tools.LoggerListener - : +----------------+-----------+--------------+-----------+---------+-----------+--------------+------------------------+-----------------+-------------+--------------+
13:54:04.229 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 2
13:54:04.230 [main] DEBUG org.jooq.meta.DefaultRelations - Adding primary key : KEY_fl_plant_PRIMARY (beta.fl_plant.id)
13:54:04.230 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`COLUMN_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME` from `information_schema`.`STATISTICS` where ((`information_schema`.`STATISTICS`.`TABLE_SCHEMA` in (?, ?) or 1 = 0) and `information_schema`.`STATISTICS`.`INDEX_NAME` <> 'PRIMARY' and `information_schema`.`STATISTICS`.`NON_UNIQUE` = '0') order by `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME`, `information_schema`.`STATISTICS`.`SEQ_IN_INDEX`
13:54:04.231 [main] DEBUG org.jooq.tools.LoggerListener - -> with bind values : select `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`COLUMN_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME` from `information_schema`.`STATISTICS` where ((`information_schema`.`STATISTICS`.`TABLE_SCHEMA` in ('alpha', 'beta') or 1 = 0) and `information_schema`.`STATISTICS`.`INDEX_NAME` <> 'PRIMARY' and `information_schema`.`STATISTICS`.`NON_UNIQUE` = '0') order by `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME`, `information_schema`.`STATISTICS`.`SEQ_IN_INDEX`
13:54:04.235 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +------------+----------+-----------+----------+
13:54:04.235 [main] DEBUG org.jooq.tools.LoggerListener - : |TABLE_SCHEMA|TABLE_NAME|COLUMN_NAME|INDEX_NAME|
13:54:04.235 [main] DEBUG org.jooq.tools.LoggerListener - : +------------+----------+-----------+----------+
13:54:04.235 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 0
13:54:04.239 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `information_schema`.`REFERENTIAL_CONSTRAINTS`.`CONSTRAINT_SCHEMA`, `information_schema`.`REFERENTIAL_CONSTRAINTS`.`CONSTRAINT_NAME`, `information_schema`.`REFERENTIAL_CONSTRAINTS`.`TABLE_NAME`, `information_schema`.`REFERENTIAL_CONSTRAINTS`.`REFERENCED_TABLE_NAME`, `information_schema`.`REFERENTIAL_CONSTRAINTS`.`UNIQUE_CONSTRAINT_NAME`, `information_schema`.`REFERENTIAL_CONSTRAINTS`.`UNIQUE_CONSTRAINT_SCHEMA`, `information_schema`.`KEY_COLUMN_USAGE`.`COLUMN_NAME` from `information_schema`.`REFERENTIAL_CONSTRAINTS` join `information_schema`.`KEY_COLUMN_USAGE` on (`information_schema`.`REFERENTIAL_CONSTRAINTS`.`CONSTRAINT_SCHEMA` = `information_schema`.`KEY_COLUMN_USAGE`.`CONSTRAINT_SCHEMA` and `information_schema`.`REFERENTIAL_CONSTRAINTS`.`CONSTRAINT_NAME` = `information_schema`.`KEY_COLUMN_USAGE`.`CONSTRAINT_NAME`) where (`information_schema`.`REFERENTIAL_CONSTRAINTS`.`CONSTRAINT_SCHEMA` in (?, ?) or 1 = 0) order by `information_schema`.`KEY_COLUMN_USAGE`.`CONSTRAINT_SCHEMA` asc, `information_schema`.`KEY_COLUMN_USAGE`.`CONSTRAINT_NAME` asc, `information_schema`.`KEY_COLUMN_USAGE`.`ORDINAL_POSITION` asc
13:54:04.240 [main] DEBUG org.jooq.tools.LoggerListener - -> with bind values : select `information_schema`.`REFERENTIAL_CONSTRAINTS`.`CONSTRAINT_SCHEMA`, `information_schema`.`REFERENTIAL_CONSTRAINTS`.`CONSTRAINT_NAME`, `information_schema`.`REFERENTIAL_CONSTRAINTS`.`TABLE_NAME`, `information_schema`.`REFERENTIAL_CONSTRAINTS`.`REFERENCED_TABLE_NAME`, `information_schema`.`REFERENTIAL_CONSTRAINTS`.`UNIQUE_CONSTRAINT_NAME`, `information_schema`.`REFERENTIAL_CONSTRAINTS`.`UNIQUE_CONSTRAINT_SCHEMA`, `information_schema`.`KEY_COLUMN_USAGE`.`COLUMN_NAME` from `information_schema`.`REFERENTIAL_CONSTRAINTS` join `information_schema`.`KEY_COLUMN_USAGE` on (`information_schema`.`REFERENTIAL_CONSTRAINTS`.`CONSTRAINT_SCHEMA` = `information_schema`.`KEY_COLUMN_USAGE`.`CONSTRAINT_SCHEMA` and `information_schema`.`REFERENTIAL_CONSTRAINTS`.`CONSTRAINT_NAME` = `information_schema`.`KEY_COLUMN_USAGE`.`CONSTRAINT_NAME`) where (`information_schema`.`REFERENTIAL_CONSTRAINTS`.`CONSTRAINT_SCHEMA` in ('alpha', 'beta') or 1 = 0) order by `information_schema`.`KEY_COLUMN_USAGE`.`CONSTRAINT_SCHEMA` asc, `information_schema`.`KEY_COLUMN_USAGE`.`CONSTRAINT_NAME` asc, `information_schema`.`KEY_COLUMN_USAGE`.`ORDINAL_POSITION` asc
13:54:04.327 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +-----------------+---------------+----------+---------------------+----------------------+------------------------+-----------+
13:54:04.327 [main] DEBUG org.jooq.tools.LoggerListener - : |CONSTRAINT_SCHEMA|CONSTRAINT_NAME|TABLE_NAME|REFERENCED_TABLE_NAME|UNIQUE_CONSTRAINT_NAME|UNIQUE_CONSTRAINT_SCHEMA|COLUMN_NAME|
13:54:04.327 [main] DEBUG org.jooq.tools.LoggerListener - : +-----------------+---------------+----------+---------------------+----------------------+------------------------+-----------+
13:54:04.327 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 0
13:54:04.328 [main] INFO org.jooq.meta.AbstractDatabase - Synthetic primary keys : 0 (0 included, 0 excluded)
13:54:04.328 [main] INFO org.jooq.meta.AbstractDatabase - Overriding primary keys : 3 (0 included, 3 excluded)
13:54:04.329 [main] INFO org.jooq.codegen.JavaGenerator - Generating table : User.java [input=user, output=user, pk=KEY_user_PRIMARY]
13:54:04.332 [main] DEBUG org.jooq.meta.AbstractTypedElementDefinition - Type mapping : alpha.user.id with type int
13:54:04.336 [main] DEBUG org.jooq.meta.AbstractTypedElementDefinition - Type mapping : alpha.user.username with type text
13:54:04.337 [main] DEBUG org.jooq.meta.AbstractTypedElementDefinition - Type mapping : alpha.user.real_name with type text
13:54:04.345 [main] DEBUG org.jooq.tools.LoggerListener - Executing query : select `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME`, `information_schema`.`STATISTICS`.`NON_UNIQUE`, `information_schema`.`STATISTICS`.`COLUMN_NAME`, `information_schema`.`STATISTICS`.`SEQ_IN_INDEX` from `information_schema`.`STATISTICS` where (`information_schema`.`STATISTICS`.`TABLE_SCHEMA` in (?, ?) or 1 = 0) order by `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME`, `information_schema`.`STATISTICS`.`SEQ_IN_INDEX`
13:54:04.346 [main] DEBUG org.jooq.tools.LoggerListener - -> with bind values : select `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME`, `information_schema`.`STATISTICS`.`NON_UNIQUE`, `information_schema`.`STATISTICS`.`COLUMN_NAME`, `information_schema`.`STATISTICS`.`SEQ_IN_INDEX` from `information_schema`.`STATISTICS` where (`information_schema`.`STATISTICS`.`TABLE_SCHEMA` in ('alpha', 'beta') or 1 = 0) order by `information_schema`.`STATISTICS`.`TABLE_SCHEMA`, `information_schema`.`STATISTICS`.`TABLE_NAME`, `information_schema`.`STATISTICS`.`INDEX_NAME`, `information_schema`.`STATISTICS`.`SEQ_IN_INDEX`
13:54:04.355 [main] DEBUG org.jooq.tools.LoggerListener - Fetched result : +------------+----------+----------+----------+-----------+------------+
13:54:04.355 [main] DEBUG org.jooq.tools.LoggerListener - : |TABLE_SCHEMA|TABLE_NAME|INDEX_NAME|NON_UNIQUE|COLUMN_NAME|SEQ_IN_INDEX|
13:54:04.355 [main] DEBUG org.jooq.tools.LoggerListener - : +------------+----------+----------+----------+-----------+------------+
13:54:04.355 [main] DEBUG org.jooq.tools.LoggerListener - : |alpha |user |PRIMARY |0 |id | 1|
13:54:04.355 [main] DEBUG org.jooq.tools.LoggerListener - : |beta |bj_animal |PRIMARY |0 |id | 1|
13:54:04.355 [main] DEBUG org.jooq.tools.LoggerListener - : |beta |fl_plant |PRIMARY |0 |id | 1|
13:54:04.355 [main] DEBUG org.jooq.tools.LoggerListener - : +------------+----------+----------+----------+-----------+------------+
13:54:04.355 [main] DEBUG org.jooq.tools.LoggerListener - Fetched row(s) : 3
13:54:04.358 [main] INFO org.jooq.meta.AbstractDatabase - Indexes fetched : 3 (3 included, 0 excluded)
13:54:04.368 [main] INFO org.jooq.tools.StopWatch - Tables generated : Total: 1.821s
13:54:04.368 [main] INFO org.jooq.codegen.JavaGenerator - Generating table references
13:54:04.371 [main] INFO org.jooq.tools.StopWatch - Table refs generated : Total: 1.824s, +2.872ms
13:54:04.371 [main] INFO org.jooq.codegen.JavaGenerator - Generating Keys
13:54:04.380 [main] INFO org.jooq.tools.StopWatch - Keys generated : Total: 1.833s, +9.053ms
13:54:04.380 [main] INFO org.jooq.codegen.JavaGenerator - Generating Indexes
13:54:04.384 [main] INFO org.jooq.tools.StopWatch - Indexes generated : Total: 1.837s, +4.461ms
13:54:04.385 [main] INFO org.jooq.codegen.JavaGenerator - Generating table records
13:54:04.385 [main] INFO org.jooq.codegen.JavaGenerator - Generating record : UserRecord.java
13:54:04.407 [main] INFO org.jooq.tools.StopWatch - Table records generated : Total: 1.86s, +22.878ms
13:54:04.408 [main] INFO org.jooq.meta.AbstractDatabase - Domains fetched : 0 (0 included, 0 excluded)
13:54:04.408 [main] INFO org.jooq.tools.StopWatch - Generation finished: alpha: Total: 1.861s, +0.246ms
13:54:04.408 [main] INFO org.jooq.codegen.JavaGenerator -
13:54:04.408 [main] INFO org.jooq.codegen.JavaGenerator - No schema version is applied for schema beta. Regenerating.
13:54:04.408 [main] INFO org.jooq.codegen.JavaGenerator - Generating schema : Beta.java
13:54:04.408 [main] INFO org.jooq.codegen.JavaGenerator - ----------------------------------------------------------
13:54:04.409 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.409 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.409 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.409 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.410 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.410 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.413 [main] INFO org.jooq.codegen.JavaGenerator - Generating tables
13:54:04.413 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.414 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.414 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimalRecord => AnimalRecord
13:54:04.414 [main] INFO org.jooq.codegen.JavaGenerator - Generating table : Animal.java [input=bj_animal, output=bj_animal, pk=KEY_bj_animal_PRIMARY]
13:54:04.415 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.415 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimalRecord => AnimalRecord
13:54:04.416 [main] DEBUG org.jooq.meta.AbstractTypedElementDefinition - Type mapping : beta.bj_animal.id with type int
13:54:04.416 [main] DEBUG org.jooq.meta.AbstractTypedElementDefinition - Type mapping : beta.bj_animal.name with type text
13:54:04.424 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.424 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.425 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlantRecord => PlantRecord
13:54:04.426 [main] INFO org.jooq.codegen.JavaGenerator - Generating table : Plant.java [input=fl_plant, output=fl_plant, pk=KEY_fl_plant_PRIMARY]
13:54:04.427 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.427 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlantRecord => PlantRecord
13:54:04.428 [main] DEBUG org.jooq.meta.AbstractTypedElementDefinition - Type mapping : beta.fl_plant.id with type int
13:54:04.428 [main] DEBUG org.jooq.meta.AbstractTypedElementDefinition - Type mapping : beta.fl_plant.name with type text
13:54:04.438 [main] INFO org.jooq.tools.StopWatch - Tables generated : Total: 1.891s, +30.409ms
13:54:04.438 [main] INFO org.jooq.codegen.JavaGenerator - Generating table references
13:54:04.439 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.439 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.439 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.440 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.440 [main] INFO org.jooq.tools.StopWatch - Table refs generated : Total: 1.893s, +2.179ms
13:54:04.440 [main] INFO org.jooq.codegen.JavaGenerator - Generating Keys
13:54:04.441 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimalRecord => AnimalRecord
13:54:04.441 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlantRecord => PlantRecord
13:54:04.441 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimalRecord => AnimalRecord
13:54:04.442 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlantRecord => PlantRecord
13:54:04.443 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimalRecord => AnimalRecord
13:54:04.444 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.444 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.444 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlantRecord => PlantRecord
13:54:04.445 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.445 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.445 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimalRecord => AnimalRecord
13:54:04.445 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.445 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.445 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlantRecord => PlantRecord
13:54:04.446 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.446 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.448 [main] INFO org.jooq.tools.StopWatch - Keys generated : Total: 1.901s, +7.947ms
13:54:04.448 [main] INFO org.jooq.codegen.JavaGenerator - Generating Indexes
13:54:04.450 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.450 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.451 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.451 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.453 [main] INFO org.jooq.tools.StopWatch - Indexes generated : Total: 1.906s, +4.457ms
13:54:04.453 [main] INFO org.jooq.codegen.JavaGenerator - Generating table records
13:54:04.453 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimalRecord => AnimalRecord
13:54:04.453 [main] INFO org.jooq.codegen.JavaGenerator - Generating record : AnimalRecord.java
13:54:04.453 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimalRecord => AnimalRecord
13:54:04.454 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.455 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimalRecord => AnimalRecord
13:54:04.457 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimalRecord => AnimalRecord
13:54:04.458 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.459 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - BjAnimal => Animal
13:54:04.463 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlantRecord => PlantRecord
13:54:04.463 [main] INFO org.jooq.codegen.JavaGenerator - Generating record : PlantRecord.java
13:54:04.463 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlantRecord => PlantRecord
13:54:04.464 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.465 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlantRecord => PlantRecord
13:54:04.466 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlantRecord => PlantRecord
13:54:04.468 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.468 [main] INFO bj.jooq.MyJooqGenerator$MyStrategy - FlPlant => Plant
13:54:04.471 [main] INFO org.jooq.tools.StopWatch - Table records generated : Total: 1.924s, +18.631ms
13:54:04.471 [main] INFO org.jooq.tools.StopWatch - Generation finished: beta: Total: 1.924s, +0.202ms
13:54:04.472 [main] INFO org.jooq.codegen.JavaGenerator -
13:54:04.472 [main] INFO org.jooq.codegen.JavaGenerator - Removing excess files