jOOQ如何执行Postgresql函数和运算符

mat*_*boy 4 java sql jooq

我正在使用 jooq 3.9.1。我想通过添加基于 PostgreSQL 运算符和函数的条件来编写查询。

例如,对于数组,有很多运算符,例如我想使用的&&或类似的函数。array_prepend

实现这一目标的最佳方法是什么?

我相信应该有类似的东西

int[] array_of_values = {1,2,3};

selectOne()
  .from(TABLE)
  .where(TABLE.COL_A.eq("Hello"))
  .and(TABLE.COL_B.operator("&&").of(array_of_values))
  .fetch();
Run Code Online (Sandbox Code Playgroud)

Luk*_*der 5

在 jOOQ 3.9 中,前进的标准方法是使用纯 SQL API

selectOne()
  .from(TABLE)
  .where(TABLE.COL_A.eq("Hello"))
  .and("{0} && {1}", TABLE.COL_B, val(array_of_values))
  .fetch();
Run Code Online (Sandbox Code Playgroud)

这是SelectConditionStep.and(String, QueryPart...)为了方便而使用该方法,但还有其他方法,包括使用DSL.condition()

你的想法是一个非常好的想法。我已经注册了jOOQ 3.10 的功能请求