title: Using JOOQ with postgresql citext
body: <p>I cannot make JOOQ (3.9.2) work with PostgreSQL citext extension. While generating tables I'm getting the following exceptions:</p>
  
  <pre><code>    [WARNING] Ambiguous type name      : The object public.regexp_matches generates a type pl.nombritech.neurogenweb.generated.tables.RegexpMatches which conflicts with the existing type pl.nombritech.neurogenweb.generated.tables.RegexpMatches on some operating systems. Use a custom generator strategy to disambiguate the types.
  [WARNING] Ambiguous type name      : The object public.regexp_split_to_table generates a type pl.nombritech.neurogenweb.generated.tables.RegexpSplitToTable which conflicts with the existing type pl.nombritech.neurogenweb.generated.tables.RegexpSplitToTable on some operating systems. Use a custom generator strategy to disambiguate the types.
  [INFO] Tables fetched           : 8 (6 included, 2 excluded)
  [INFO] Missing name             : Object regexp_matches holds a column without a name at position 1
  [INFO] Missing name             : Object regexp_matches holds a column without a name at position 2
  [INFO] UDTs fetched             : 0 (0 included, 0 excluded)
  [INFO] Missing name             : Object regexp_split_to_table holds a column without a name at position 1
  [INFO] Missing name             : Object regexp_split_to_table holds a column without a name at position 2
  [INFO] Missing name             : Object regexp_split_to_table holds a column without a name at position 3
  [INFO] Sequences fetched        : 4 (4 included, 0 excluded)
  [INFO] Generating sequences     
  [INFO] Sequences generated      : Total: 1.099s
  [INFO] Generating tables        
  [INFO] Adding foreign key       : sample_item__sample_item_category_id_fk (public.sample_item.category_id) referencing category_id_pk
  [INFO] Adding foreign key       : sample_item__sample_item_size_id_fk (public.sample_item.size_id) referencing size_id_pk
  [INFO] Adding foreign key       : sample_item__sample_item_unit_fk (public.sample_item.unit_id) referencing unit_id_pk
  [INFO] Synthetic primary keys   : 0 (0 included, 0 excluded)
  [INFO] Overriding primary keys  : 6 (0 included, 6 excluded)
  [INFO] Generating table         : Category.java [input=category, output=category, pk=category_id_pk]
  [INFO] Generating table         : RegexpMatches.java [input=regexp_matches, output=regexp_matches, pk=N/A]
  [ERROR] Error while generating table public.regexp_matches
  java.lang.NullPointerException
          at org.jooq.util.GenerationUtil.getArrayBaseType(GenerationUtil.java:370)
          at org.jooq.util.JavaGenerator.getType(JavaGenerator.java:5209)
          at org.jooq.util.JavaGenerator.getJavaType(JavaGenerator.java:5165)
          at org.jooq.util.JavaGenerator.getJavaType(JavaGenerator.java:5161)
          at org.jooq.util.JavaGenerator.generateTable(JavaGenerator.java:3328)
          at org.jooq.util.JavaGenerator.generateTable(JavaGenerator.java:3278)
          at org.jooq.util.JavaGenerator.generateTables(JavaGenerator.java:3265)
          at org.jooq.util.JavaGenerator.generate(JavaGenerator.java:422)
          at org.jooq.util.JavaGenerator.generate(JavaGenerator.java:376)
          at org.jooq.util.JavaGenerator.generate(JavaGenerator.java:298)
          at org.jooq.util.GenerationTool.run(GenerationTool.java:610)
          at org.jooq.util.GenerationTool.generate(GenerationTool.java:199)
          at org.jooq.util.maven.Plugin.execute(Plugin.java:188)
          at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
          at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
          at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
          at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
          at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
          at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
          at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
          at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
          at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
          at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
          at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  [INFO] Generating table         : RegexpSplitToTable.java [input=regexp_split_to_table, output=regexp_split_to_table, pk=N/A]
  [INFO] Generating table         : SampleItem.java [input=sample_item, output=sample_item, pk=sample_item_id_pk]
  [INFO] Generating table         : Size.java [input=size, output=size, pk=size_id_pk]
  [INFO] Generating table         : Unit.java [input=unit, output=unit, pk=unit_id_pk]
  [INFO] Tables generated         : Total: 1.819s, +720.025ms
  [INFO] Generating table references
  [INFO] Table refs generated     : Total: 1.827s, +8.209ms
  [INFO] Generating Keys          
  [INFO] Keys generated           : Total: 1.852s, +24.873ms
  [INFO] Generating table records 
  [INFO] Generating record        : CategoryRecord.java
  [INFO] Generating record        : RegexpMatchesRecord.java
  [ERROR] Error while generating table record public.regexp_matches
  java.lang.NullPointerException
          at org.jooq.util.GenerationUtil.getArrayBaseType(GenerationUtil.java:370)
          at org.jooq.util.JavaGenerator.getType(JavaGenerator.java:5209)
          at org.jooq.util.JavaGenerator.getJavaType(JavaGenerator.java:5165)
          at org.jooq.util.JavaGenerator.getJavaType(JavaGenerator.java:5161)
          at org.jooq.util.JavaGenerator.refRowType(JavaGenerator.java:1407)
          at org.jooq.util.JavaGenerator.generateRecord0(JavaGenerator.java:958)
          at org.jooq.util.JavaGenerator.generateRecord(JavaGenerator.java:917)
          at org.jooq.util.JavaGenerator.generateRecord(JavaGenerator.java:905)
          at org.jooq.util.JavaGenerator.generateRecords(JavaGenerator.java:892)
          at org.jooq.util.JavaGenerator.generate(JavaGenerator.java:442)
          at org.jooq.util.JavaGenerator.generate(JavaGenerator.java:376)
          at org.jooq.util.JavaGenerator.generate(JavaGenerator.java:298)
          at org.jooq.util.GenerationTool.run(GenerationTool.java:610)
          at org.jooq.util.GenerationTool.generate(GenerationTool.java:199)
          at org.jooq.util.maven.Plugin.execute(Plugin.java:188)
          at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
          at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
          at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
          at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
          at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
          at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
          at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
          at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
          at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
          at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
          at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  [INFO] Generating record        : RegexpSplitToTableRecord.java
  [INFO] Generating record        : SampleItemRecord.java
  [INFO] Generating record        : SizeRecord.java
  [INFO] Generating record        : UnitRecord.java
  [INFO] Table records generated  : Total: 1.947s, +95.574ms
  [INFO] Domains fetched          : 0 (0 included, 0 excluded)
  [INFO] Generating routines and table-valued functions
  [INFO] Missing name             : Object citext holds a column without a name at position 1
  [INFO] Missing name             : Object citext holds a column without a name at position 1
  [INFO] Missing name             : Object citext holds a column without a name at position 1
  [INFO] Missing name             : Object citext_cmp holds a column without a name at position 1
  [INFO] Missing name             : Object citext_cmp holds a column without a name at position 2
  [INFO] Missing name             : Object citext_eq holds a column without a name at position 1
  [INFO] Missing name             : Object citext_eq holds a column without a name at position 2
  [INFO] Missing name             : Object citext_ge holds a column without a name at position 1
  [INFO] Missing name             : Object citext_ge holds a column without a name at position 2
  [INFO] Missing name             : Object citext_gt holds a column without a name at position 1
  [INFO] Missing name             : Object citext_gt holds a column without a name at position 2
  [INFO] Missing name             : Object citext_hash holds a column without a name at position 1
  [INFO] Missing name             : Object citextin holds a column without a name at position 1
  [INFO] Missing name             : Object citext_larger holds a column without a name at position 1
  [INFO] Missing name             : Object citext_larger holds a column without a name at position 2
  [INFO] Missing name             : Object citext_le holds a column without a name at position 1
  [INFO] Missing name             : Object citext_le holds a column without a name at position 2
  [INFO] Missing name             : Object citext_lt holds a column without a name at position 1
  [INFO] Missing name             : Object citext_lt holds a column without a name at position 2
  [INFO] Missing name             : Object citext_ne holds a column without a name at position 1
  [INFO] Missing name             : Object citext_ne holds a column without a name at position 2
  [INFO] Missing name             : Object citextout holds a column without a name at position 1
  [INFO] Missing name             : Object citextrecv holds a column without a name at position 1
  [INFO] Missing name             : Object citextsend holds a column without a name at position 1
  [INFO] Missing name             : Object citext_smaller holds a column without a name at position 1
  [INFO] Missing name             : Object citext_smaller holds a column without a name at position 2
  [INFO] Missing name             : Object max holds a column without a name at position 1
  [INFO] Missing name             : Object min holds a column without a name at position 1
  [INFO] Missing name             : Object regexp_replace holds a column without a name at position 1
  [INFO] Missing name             : Object regexp_replace holds a column without a name at position 2
  [INFO] Missing name             : Object regexp_replace holds a column without a name at position 3
  [INFO] Missing name             : Object regexp_replace holds a column without a name at position 1
  [INFO] Missing name             : Object regexp_replace holds a column without a name at position 2
  [INFO] Missing name             : Object regexp_replace holds a column without a name at position 3
  [INFO] Missing name             : Object regexp_replace holds a column without a name at position 4
  [INFO] Missing name             : Object regexp_split_to_array holds a column without a name at position 1
  [INFO] Missing name             : Object regexp_split_to_array holds a column without a name at position 2
  [INFO] Missing name             : Object regexp_split_to_array holds a column without a name at position 1
  [INFO] Missing name             : Object regexp_split_to_array holds a column without a name at position 2
  [INFO] Missing name             : Object regexp_split_to_array holds a column without a name at position 3
  [INFO] Missing name             : Object replace holds a column without a name at position 1
  [INFO] Missing name             : Object replace holds a column without a name at position 2
  [INFO] Missing name             : Object replace holds a column without a name at position 3
  [INFO] Missing name             : Object split_part holds a column without a name at position 1
  [INFO] Missing name             : Object split_part holds a column without a name at position 2
  [INFO] Missing name             : Object split_part holds a column without a name at position 3
  [INFO] Missing name             : Object strpos holds a column without a name at position 1
  [INFO] Missing name             : Object strpos holds a column without a name at position 2
  [INFO] Missing name             : Object texticlike holds a column without a name at position 1
  [INFO] Missing name             : Object texticlike holds a column without a name at position 2
  [INFO] Missing name             : Object texticlike holds a column without a name at position 1
  [INFO] Missing name             : Object texticlike holds a column without a name at position 2
  [INFO] Missing name             : Object texticnlike holds a column without a name at position 1
  [INFO] Missing name             : Object texticnlike holds a column without a name at position 2
  [INFO] Missing name             : Object texticnlike holds a column without a name at position 1
  [INFO] Missing name             : Object texticnlike holds a column without a name at position 2
  [INFO] Missing name             : Object texticregexeq holds a column without a name at position 1
  [INFO] Missing name             : Object texticregexeq holds a column without a name at position 2
  [INFO] Missing name             : Object texticregexeq holds a column without a name at position 1
  [INFO] Missing name             : Object texticregexeq holds a column without a name at position 2
  [INFO] Missing name             : Object texticregexne holds a column without a name at position 1
  [INFO] Missing name             : Object texticregexne holds a column without a name at position 2
  [INFO] Missing name             : Object texticregexne holds a column without a name at position 1
  [INFO] Missing name             : Object texticregexne holds a column without a name at position 2
  [INFO] Missing name             : Object translate holds a column without a name at position 1
  [INFO] Missing name             : Object translate holds a column without a name at position 2
  [INFO] Missing name             : Object translate holds a column without a name at position 3
  [INFO] Generating routine       : Citext1.java
  [INFO] Generating routine       : Citext2.java
  [INFO] Generating routine       : Citext3.java
  [INFO] Generating routine       : CitextCmp.java
  [INFO] Generating routine       : CitextEq.java
  [INFO] Generating routine       : CitextGe.java
  [INFO] Generating routine       : CitextGt.java
  [INFO] Generating routine       : CitextHash.java
  [INFO] Generating routine       : Citextin.java
  [INFO] Generating routine       : CitextLarger.java
  [INFO] Generating routine       : CitextLe.java
  [INFO] Generating routine       : CitextLt.java
  [INFO] Generating routine       : CitextNe.java
  [INFO] Generating routine       : Citextout.java
  [INFO] Generating routine       : Citextrecv.java
  [INFO] Generating routine       : Citextsend.java
  [INFO] Generating routine       : CitextSmaller.java
  [INFO] Generating routine       : Max.java
  [INFO] Generating routine       : Min.java
  [INFO] Generating routine       : RegexpReplace1.java
  [INFO] Generating routine       : RegexpReplace2.java
  [INFO] Generating routine       : RegexpSplitToArray1.java
  [INFO] Generating routine       : RegexpSplitToArray2.java
  [INFO] Generating routine       : Replace.java
  [INFO] Generating routine       : SplitPart.java
  [INFO] Generating routine       : Strpos.java
  [INFO] Generating routine       : Texticlike1.java
  [INFO] Generating routine       : Texticlike2.java
  [INFO] Generating routine       : Texticnlike1.java
  [INFO] Generating routine       : Texticnlike2.java
  [INFO] Generating routine       : Texticregexeq1.java
  [INFO] Generating routine       : Texticregexeq2.java
  [INFO] Generating routine       : Texticregexne1.java
  [INFO] Generating routine       : Texticregexne2.java
  [INFO] Generating routine       : Translate.java
  [INFO] Routines generated       : Total: 3.35s, +1.402s
  [INFO] Generation finished: public: Total: 3.35s, +0.082ms
  [INFO]                          
  [INFO] Removing excess files    
  [INFO] 
  [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ NeuroGenWeb ---
  [INFO] Using 'UTF-8' encoding to copy filtered resources.
  [INFO] Copying 1 resource
  [INFO] Copying 1 resource
  [INFO] 
  [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ NeuroGenWeb ---
  [INFO] Changes detected - recompiling the module!
  [INFO] Compiling 94 source files to /home/kuba/IdeaProjects/NeuroGenWeb/target/classes
  [INFO] -------------------------------------------------------------
  [WARNING] COMPILATION WARNING : 
  [INFO] -------------------------------------------------------------
  [WARNING] Some messages have been simplified; recompile with -Xdiags:verbose to get full output
  [INFO] 1 warning
  [INFO] -------------------------------------------------------------
  [INFO] -------------------------------------------------------------
  [ERROR] COMPILATION ERROR : 
  [INFO] -------------------------------------------------------------
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[23,50] cannot find symbol
    symbol:   class RegexpMatches
    location: package pl.nombritech.neurogenweb.generated.tables
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[28,58] cannot find symbol
    symbol:   class RegexpMatchesRecord
    location: package pl.nombritech.neurogenweb.generated.tables.records
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[60,18] cannot find symbol
    symbol:   class RegexpMatches
    location: class pl.nombritech.neurogenweb.generated.Public
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[65,26] cannot find symbol
    symbol:   class RegexpMatchesRecord
    location: class pl.nombritech.neurogenweb.generated.Public
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[72,19] cannot find symbol
    symbol:   class RegexpMatches
    location: class pl.nombritech.neurogenweb.generated.Public
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[79,19] cannot find symbol
    symbol:   class RegexpMatches
    location: class pl.nombritech.neurogenweb.generated.Public
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Routines.java:[50,50] cannot find symbol
    symbol:   class RegexpMatches
    location: package pl.nombritech.neurogenweb.generated.tables
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Routines.java:[52,58] cannot find symbol
    symbol:   class RegexpMatchesRecord
    location: package pl.nombritech.neurogenweb.generated.tables.records
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Routines.java:[1231,26] cannot find symbol
    symbol:   class RegexpMatchesRecord
    location: class pl.nombritech.neurogenweb.generated.Routines
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Routines.java:[1238,19] cannot find symbol
    symbol:   class RegexpMatches
    location: class pl.nombritech.neurogenweb.generated.Routines
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Routines.java:[1245,19] cannot find symbol
    symbol:   class RegexpMatches
    location: class pl.nombritech.neurogenweb.generated.Routines
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Tables.java:[15,50] cannot find symbol
    symbol:   class RegexpMatches
    location: package pl.nombritech.neurogenweb.generated.tables
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Tables.java:[20,58] cannot find symbol
    symbol:   class RegexpMatchesRecord
    location: package pl.nombritech.neurogenweb.generated.tables.records
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Tables.java:[45,25] cannot find symbol
    symbol:   class RegexpMatches
    location: class pl.nombritech.neurogenweb.generated.Tables
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Tables.java:[50,26] cannot find symbol
    symbol:   class RegexpMatchesRecord
    location: class pl.nombritech.neurogenweb.generated.Tables
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Tables.java:[57,19] cannot find symbol
    symbol:   class RegexpMatches
    location: class pl.nombritech.neurogenweb.generated.Tables
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Tables.java:[64,19] cannot find symbol
    symbol:   class RegexpMatches
    location: class pl.nombritech.neurogenweb.generated.Tables
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[60,91] cannot find symbol
    symbol:   class RegexpMatches
    location: package pl.nombritech.neurogenweb.generated.tables
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[66,65] package RegexpMatches does not exist
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[73,29] package RegexpMatches does not exist
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[80,29] package RegexpMatches does not exist
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/generated/Public.java:[165,13] cannot find symbol
    symbol:   variable RegexpMatches
    location: class pl.nombritech.neurogenweb.generated.Public
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/repository/UnitRepository.java:[22,31] incompatible types: inference variable E has incompatible bounds
      equality constraints: java.lang.String
      lower bounds: java.lang.Object
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/repository/UnitRepository.java:[33,35] incompatible types: inference variable T has incompatible bounds
      equality constraints: java.lang.String
      lower bounds: java.lang.Object,E
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/repository/CategoryRepository.java:[17,23] incompatible types: inference variable E has incompatible bounds
      equality constraints: java.lang.String
      lower bounds: java.lang.Object
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/repository/CategoryRepository.java:[29,35] incompatible types: inference variable T has incompatible bounds
      equality constraints: java.lang.String
      lower bounds: java.lang.Object,E
  [ERROR] /home/kuba/IdeaProjects/NeuroGenWeb/src/main/java/pl/nombritech/neurogenweb/repository/GeneratorRepository.java:[40,17] no suitable method found for fetch(SampleItem[...]slate)
      method org.jooq.ResultQuery.&lt;T&gt;fetch(org.jooq.Field&lt;T&gt;) is not applicable
        (cannot infer type-variable(s) T
          (argument mismatch; org.jooq.Field is not a functional interface
            multiple non-overriding abstract methods found in interface org.jooq.Field))
      method org.jooq.ResultQuery.&lt;T&gt;fetch(org.jooq.Field&lt;?&gt;,java.lang.Class&lt;? extends T&gt;) is not applicable
        (cannot infer type-variable(s) T
          (actual and formal argument lists differ in length))
      method org.jooq.ResultQuery.&lt;T,U&gt;fetch(org.jooq.Field&lt;T&gt;,org.jooq.Converter&lt;? super T,? extends U&gt;) is not applicable
        (cannot infer type-variable(s) T,U
          (actual and formal argument lists differ in length))
      method org.jooq.ResultQuery.fetch(int) is not applicable
        (argument mismatch; int is not a functional interface)
      method org.jooq.ResultQuery.&lt;T&gt;fetch(int,java.lang.Class&lt;? extends T&gt;) is not applicable
  </code></pre>
  
  <p>And here is my JOOQ generation configuration from pom.xml:</p>
  
  <pre><code>            &lt;generator&gt;
                  &lt;database&gt;
                      &lt;name&gt;org.jooq.util.postgres.PostgresDatabase&lt;/name&gt;
                      &lt;includes&gt;.*&lt;/includes&gt;
                      &lt;excludes/&gt;
                      &lt;inputSchema&gt;public&lt;/inputSchema&gt;
                  &lt;/database&gt;
                  &lt;target&gt;
                      &lt;packageName&gt;pl.nombritech.neurogenweb.generated&lt;/packageName&gt;
                      &lt;directory&gt;src/main/java&lt;/directory&gt;
                  &lt;/target&gt;
              &lt;/generator&gt;
  </code></pre>
  
  <p>Is it possible to make this work? I've already searched for the solution but I haven't found anything helpful for me yet.</p>
  
  <p>I'd be very grateful for any hints in this matter.</p>