首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jpa: LIKE on a Lob field

jpa: LIKE on a Lob field
EN

Stack Overflow用户
提问于 2017-02-06 16:42:09
回答 1查看 867关注 0票数 1

我有一个实体,它的字符串字段被标记为Lob:

代码语言:javascript
复制
@Lob
public String getJson() {
    return json;
}

我需要使用jpql在这个字段上使用like条件进行查询。我不能使用原生查询,因为代码必须与Oracle和Postgresql兼容。我使用hibernate作为jpa实现。查询不会返回任何内容,即使它被正确翻译了(我在oracle的v$_sqlarea上执行了一个查询,以查看它及其参数)。在squirrel上执行翻译后的查询可以完美地工作。

我是否正在尝试对lob字段执行错误/不允许的操作?有没有人在成功的时候做同样的事情?

EN

回答 1

Stack Overflow用户

发布于 2017-02-06 22:14:27

@Lob注释字段使用LIKE谓词运算符的支持可能会受到影响,具体取决于您使用的方言。这是因为它取决于用于将CLOB数据映射到数据库列的数据类型。

例如,SQL Server方言可能会将带@Lob批注的String字段映射到TEXT数据类型,虽然已弃用,但允许使用LIKE运算符。但是另一种方言可能会将该字段映射到数据库不允许使用LIKE操作符的数据类型。

其他方言可能允许对CLOB列执行LIKE-like操作;但是,它们是通过特定于数据库的特殊函数来实现的。在这些情况下,如果这些要求适用于您的方言,则必须使用这些函数来支持搜索。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42063517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档