Spring boot java.sql.SQLException:ORA-22835:缓冲区太小,无法进行CLOB到CHAR或BLOB到RAW的转换

Spring boot java.sql.SQLException:ORA-22835:缓冲区太小,无法进行CLOB到CHAR或BLOB到RAW的转换,spring-boot,jpa,Spring Boot,Jpa,我用TypedQuery构建并执行了一个动态查询,其中一个字段是CLOB object-news.stores。以下是我遇到的错误,我找不到解决方法: java.sql.SQLException:ORA-22835:缓冲区太小,无法进行CLOB到CHAR或BLOB到RAW的转换 以下是查询: SELECT DISTINCT new com.kaufland.newsletter.usecase.newscontent.search.dto.response.NewsContentBaseInfo

我用
TypedQuery
构建并执行了一个动态查询,其中一个字段是CLOB object-
news.stores
。以下是我遇到的错误,我找不到解决方法:

java.sql.SQLException:ORA-22835:缓冲区太小,无法进行CLOB到CHAR或BLOB到RAW的转换

以下是查询:

SELECT DISTINCT new com.kaufland.newsletter.usecase.newscontent.search.dto.response.NewsContentBaseInfo(news.id, news.uuid, news.dayAndTimeOfPublish, news.title, news.subtitle, news.categoryCountry, news.newsPeriod, to_char(news.stores)) 
FROM com.kaufland.newsletter.domain.content.AbstractNewsContent news 
LEFT OUTER JOIN news.newsLinks newsLinks 
WHERE news.country = :country AND news.status = :status 
AND news.dayAndTimeOfPublish >= :dayAndTimeOfPublishStart 
AND news.dayAndTimeOfPublish <= :dayAndTimeOfPublishEnd 
AND (news.stores LIKE '%'||:storeNumber0||'%') 
AND news.categoryCountry.id in :includeCategoryIds 
AND (LOWER(news.title) LIKE LOWER('%'||:searchText||'%') 
    OR LOWER(news.subtitle) LIKE LOWER('%'||:searchText||'%') 
    OR LOWER(news.text1) LIKE LOWER('%'||:searchTextEscaped||'%') 
    OR LOWER(news.text2) LIKE LOWER('%'||:searchTextEscaped||'%') 
    OR LOWER(news.text3) LIKE LOWER('%'||:searchTextEscaped||'%') 
    OR LOWER(newsLinks.displayText) LIKE LOWER('%'||:searchText||'%')) 
ORDER BY news.dayAndTimeOfPublish DESC
选择DISTINCT new com.kaufland.newsletter.usecase.newcontent.search.dto.response.NewsContentBaseInfo(news.id、news.uuid、news.dayAndTimeOfPublish、news.title、news.subtitle、news.categoryCountry、news.newsporiod、to_char(news.stores))
来自com.kaufland.newsletter.domain.content.AbstractNews内容新闻
左外连接新闻。新闻链接新闻链接
其中news.country=:country和news.status=:status
和news.dayandtimeof publish>=:dayandtimeof publish start

和news.dayAndTimeOfPublish函数的
to_char
返回一个限制为4000个字符的varchar。如果CLOB大于该值,则可能会出现此错误(取决于Oracle版本)


如果确实需要字符串值,可以尝试使用dbms_lob包(),该包可以处理更多字符。

to_char
函数返回一个限制为4000个字符的varchar。如果CLOB大于该值,则可能会出现此错误(取决于Oracle版本)


如果您确实需要字符串值,可以尝试使用dbms_lob包(),该包可以处理更多字符。

如何触发此查询?同时添加NewsContentBaseInfo类如何准确触发此查询?同时添加NewsContentBaseInfo类