使用Jooq生成器,通过Gradle插件,我现在正在使用POJO和表,而不仅是具有正常名称的类,还有大量名称以bin $开头的文件。
它们不是必需的,因为只是昨天发生器没有制作这些文件。无论有没有一切都可行。但我不希望这个项目充斥着数十个过多的文件。
答案 0 :(得分:6)
自第10版以来,Oracle将删除的表放入回收站。他们的名字以Bin $开头。所以,JooQ只是为丢弃的表创建类。这可以通过两种方式阻止:在Oracle中停止使用回收bean或过滤Jooq生成器为其创建类的表。
ALTER SYSTEM SET RECYCLEBIN = OFF DEFERRED;
purge dba_recyclebin;
或更改发电机设置(示例适用于Gradle)
generator{
...
database {
...
excludes = '(?i:BIN\\$.*)'
编辑:经过多次尝试(由Lukas)和支票(由我)后,Lukas找到了excludes
的正确含义。它的形式,恕我直言,唯一的解释 - JOOQ没有正确使用正则表达式,对于Groovy does not parse单引号中的字符串。
答案 1 :(得分:4)
jOOQ&#39; <excludes/>
设置是Java正则表达式。你必须正确地形成它:
excludes = '(?i:BIN\\$.*)'
说明:
(?i:...)
表示不区分大小写。以防万一。双关语。\\
符号前使用$
,因为$
表示&#34;行尾#34;在正则表达式中。你想逃避这一点。并且因为Groovy / Gradle解析(如#34;查找转义序列&#34;)您的字符串you need to escape the backslash too,以便它到达Java Pattern.compile()
调用.*
表示在$
之后,您希望匹配任意数量的字符。 .
=任何字符,*
=任意数量的重复