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类