如何使用基于 jsontype 属性的 jOOQ 从数据库中检索数据
How to retrieve data from database using jOOQ based on jsontype properties
我们有一个员工 table,json 类型的地址列如下所述
员工Table:
如何使用 jOOQ 根据地址列中的城市名称检索员工详细信息?
您可以使用 jOOQ 的内置 JSON_VALUE()
支持:
ctx.selectFrom(EMPLOYEE)
.where(cast(jsonValue(EMPLOYEE.ADDRESS, "$.city"), VARCHAR).eq("\"Mumbai\""))
.fetch();
这是假设您使用代码生成并具有通常的静态导入:
import static org.jooq.impl.DSL.*;
import static org.jooq.impl.SQLDataType.*;
如果您需要支持 jOOQ(目前)不支持的任何其他供应商特定的 JSON 函数,请改用普通 SQL 模板。
但是,这种方法不太可能利用索引,所以如果可以的话,我建议对这些数据进行规范化。
我们有一个员工 table,json 类型的地址列如下所述
员工Table:
如何使用 jOOQ 根据地址列中的城市名称检索员工详细信息?
您可以使用 jOOQ 的内置 JSON_VALUE()
支持:
ctx.selectFrom(EMPLOYEE)
.where(cast(jsonValue(EMPLOYEE.ADDRESS, "$.city"), VARCHAR).eq("\"Mumbai\""))
.fetch();
这是假设您使用代码生成并具有通常的静态导入:
import static org.jooq.impl.DSL.*;
import static org.jooq.impl.SQLDataType.*;
如果您需要支持 jOOQ(目前)不支持的任何其他供应商特定的 JSON 函数,请改用普通 SQL 模板。
但是,这种方法不太可能利用索引,所以如果可以的话,我建议对这些数据进行规范化。