gpt4 book ai didi

java - JPA查询Oracle DB中的json字段

转载 作者:行者123 更新时间:2023-12-02 08:39:18 25 4
gpt4 key购买 nike

我有一个这样的 JPA 实体:

import com.fasterxml.jackson.databind.JsonNode; 

@Entity
public class Data {
@Id
private Integer id;
@Lob
private JsonNode json;
}

是否可以编写JPQL来查询json字段值?

类似这样的事情:

from Data d where d.json.firstName = :firstName

我收到此错误:

QueryException: could not resolve property: firstName

是否可以将其配置为在访问 JsonNode 字段时忽略属性解析错误?

最佳答案

通常,您可以在 WHERE 子句中执行字符串匹配。更具体的JSON搜索需要数据库引擎的支持。我找到了 Oracle DB 的此文档:https://docs.oracle.com/database/121/ADXDB/json.htm#ADXDB6293像这样的东西可能会起作用,但仍然检查文档:

SELECT * 
FROM Data d
WHERE json_textcontains(d.json, '$.firstName', firstName);

关于java - JPA查询Oracle DB中的json字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61486432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com