有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在jOOQ生成器中强制所有日期列为LocalDateTime?

我想强制所有Oracle日期列为LocalDateTime

我尝试的是:

<forcedType>
    <name>LOCALDATETIME</name>
    <userType>java.time.LocalDateTime</userType>
    <types>DATE\(*\)</types>
</forcedType>

但是jOOQ仍然生成LocalDate

强制类型必须是什么样子


共 (1) 个答案

  1. # 1 楼答案

    您的<types>表达式读取“DATE后跟任意数量的(,后跟恰好一个)。您可能希望这样:

    <types>DATE(\(.*\))?</types>
    

    附带说明:您实际上不需要指定<userType>来从"data type rewriting"特性中获益。指定与SQLDataType中的类型匹配的名称就足够了

    Bug

    注意,jooq3.11中有一个bug,<name>LOCALDATETIME</name>不起作用:https://github.com/jOOQ/jOOQ/issues/8493

    这在jOOQ 3.12中已修复。目前,使用<name>TIMESTAMP</name>代替<javaTimeTypes>