当前位置: 首页 > 知识库问答 >
问题:

jOOQ代码生成器不生成相应的索引,如果UniQUE索引具有在字段上定义的函数

郎成龙
2023-03-14

我有一个唯一的索引,如下所示,以实现对项目名称不区分大小写的唯一约束

CREATE UNIQUE INDEX IF NOT EXISTS unique_project_name__idx ON project (UPPER(name));

jOOQ代码生成器似乎没有在索引中生成相应的常量。java为这样的唯一索引。

但是,它适用于没有UPPER()函数的索引

CREATE UNIQUE INDEX IF NOT EXISTS unique_project_name__idx ON project (name);
// corresponding generation in Indexes.java
public static Index UNIQUE_PROJECT_NAME__IDX = Internal.createIndex("unique_project_name__idx", Project.PROJECT, new OrderField[] { Project.PROJECT.NAME }, true);

我使用jOOQ 3.13.2和PostgreSQL 11.2。

有什么想法吗?

对于不区分大小写的唯一约束,是一种更好的方法吗?

共有1个答案

林冥夜
2023-03-14

这是jOOQ 3.13中缺少的功能:https://github.com/jOOQ/jOOQ/issues/6310

 类似资料:
  • 当使用jOOQ的代码生成器时,它会拆分嵌套类以防止大型静态初始化器,而可能包含嵌套类,例如,... 我使用带有<代码> 但使用<代码> 这是jOOQ生成器中的错误吗?或者我需要添加其他配置

  • 我使用jOOQ程序代码生成数据库,但现在我遇到了一些问题。在数据库中,我有表A和表B。第一次都生成了pojo、dao、接口等。经过一段时间的开发,我发现表A需要添加一些字段或修改一些字段,所以我不得不再次编码,然后jOOQ代码生成器将覆盖现有的代码,这让我很难过。当我在排除表的情况下使用“排除A”时,发现只生成了表A的数据,表B将被删除。我不知道如何处理这个问题。我的代码生成器如下:

  • 我更改了数据库中的一些表,所以我想生成记录、键、类等。但是每次我这样做时,它总是跳过jooq代码生成。 [INFO]--jooq-codegen-maven:3.11.10:generate(默认cli)@http网关--[INFO]跳过jooq代码生成 为了运行Jooq代码生成,我应该执行哪个mvn cmd?现在我使用: 谢谢

  • 我有一个有许多表的数据库。我想开始使用jOOQ为我的应用程序。但是我不希望JOOQ为所有表生成代码,但只为表的一小部分生成代码。我如何配置它?

  • 演示项目提供了两个模型,一个是有效的,一个是带有JsonNode的,以表明生成器实际上正在运行并扫描模型,但跳过了包含JsonNode字段的模型。 我已经在forcedType表达式字段中尝试了多种名称:.SimpleName。,.simpleName.,.impl.,.impl.,.json.,.json.,.jsonb.,.jsonb., 试图将sql in绑定设置为::JSON,::JSON

  • 是否有任何参数可以在jooq代码生成期间打开/关闭下一个查询的执行? 在有大量模式和对象的数据库上,执行大约需要一个小时