Java 转换器影响例程自动生成的代码

Java 转换器影响例程自动生成的代码,java,jooq,Java,Jooq,我将自定义类型转换器与JOOQ一起使用,它可以很好地用于表,但会为例程创建不可编译的代码 例如,我有一个公共类DateConverter实现了Converter,但是当自动生成代码时,一些接受日期作为参数的函数会导致生成以下代码: public static final org.jooq.Parameter<java.time.LocalDate> VALUE_DATE = createParameter("value_date", org.jooq.impl.SQLDataType

我将自定义类型转换器与JOOQ一起使用,它可以很好地用于表,但会为例程创建不可编译的代码

例如,我有一个
公共类DateConverter实现了Converter
,但是当自动生成代码时,一些接受
日期作为参数的函数会导致生成以下代码:

public static final org.jooq.Parameter<java.time.LocalDate> VALUE_DATE = createParameter("value_date", org.jooq.impl.SQLDataType.DATE);
public static final org.jooq.Parameter VALUE_DATE=createParameter(“VALUE_DATE”,org.jooq.impl.SQLDataType.DATE);

我明白这一点,但我使用的是3.4.4,不知道是否有解决办法。

从您的评论中,我认为您正在寻找一种方法,以防止jOOQ的代码生成器错误地将转换后的数据类型应用于存储的函数参数

我现在可以考虑的一个解决方法是确保所有过程/功能都不会意外匹配。
仅匹配完全限定对象名称(例如参数)或非限定对象名称


另一种解决方法是使用两种不同的代码生成配置:一种用于表,另一种用于例程。这样,配置转换器就容易多了…

所以在创建例程时,没有办法告诉jooq忽略转换器?啊哈,“忽略”可以作为一种解决方法?好的,您可以将这些过程从
配置中使用的正则表达式中排除……这对我来说是可行的,但只是一个简单的
(?!函数)*
不起作用-我认为表达式与变量名本身匹配,因此很难仅根据名称区分列名和函数参数。关于上一段,是否有简单的方法排除表或例程,或者必须按名称排除?还没有,但我想我们应该考虑一下你的用例,