[英]Getting the java.lang.ClassCastException: java.lang.String cannot be cast to java.sql.Clob
Getting the java.lang.ClassCastException: java.lang.String cannot be cast to java.sql.Clob Error when trying to convert String into Clob type.获取 java.lang.ClassCastException: java.lang.String cannot be cast to java.sql.Clob 尝试将 String 转换为 Clob 类型时出错。 we are using Mysql database.java side we are using Hibernate NativeQuery.我们正在使用 Mysql database.java 我们正在使用 Hibernate NativeQuery。
Query nativeQuery= entityManager.createNativeQuery(QueryConstants.GetDbDetails);
nativeQuery.unwrap(SQLQuery.class)
.setParameterList("crisilTicker", crisilTickerList);
List<Object[]> list=nativeQuery.getResultList();
try{
if(list !=null && !list.isEmpty()){
for(Object[] obj :list){
java.sql.Clob clobevalue =(java.sql.Clob) obj[0];
String metaDataStr =clobevalue.getSubString(1, (int) clobevalue.length());
JSONObject metaDataJson =new JSONObject(metaDataStr);
JSONObject metaData = metaDataJson.getJSONObject("sheetMetadata");
Iterator<String> keys = metaData.keys();
while (keys.hasNext()) {
getting java.lang.ClassCastException: java.lang.String cannot be cast to java.sql.Clob error得到 java.lang.ClassCastException: java.lang.String cannot be cast to java.sql.Clob 错误
Have you tried to cast to String instead of Clob type?您是否尝试过转换为 String 而不是 Clob 类型?
String metaDataStr = (String) obj[0];
And remove this line in your code并在您的代码中删除这一行
java.sql.Clob clobevalue =(java.sql.Clob) obj[0];
If you want to cast String to Clob, use below:-如果要将 String 转换为 Clob,请使用以下内容:-
java.sql.Clob clobevalue = new new javax.sql.rowset.serial.SerialClob(((String)obj[0]).toCharArray());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.