- 浏览: 54010 次
最新评论
现象:
liferay中查询数据,用到如下语句 select xx from yyy where .....;
原因:
只select一个字段
解决思路:
1. 类型转换, 尝试biginteger, object 等等均不可行,转成object都不可以,此路不通。
2. SELECT XXX AS COUNT_VALUE from yyy where .....
(COUNT_VALUE 是liferay定义的关键字)
3. SELECT XXX , ZZZ FROM yyyy where ......
select 多于一个字段就可以正常操作,不会报转换异常
具体代码:
2.
红色字体根据实际情况改变
Session session = null;
try {
session = openSession();
StringBuffer sql = new StringBuffer("");
sql.append(" SELECT xxx AS COUNT_VALUE ");
...................
SQLQuery q = session.createSQLQuery(sql.toString());
q.addScalar(COUNT_COLUMN_NAME, Type.DOUBLE);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(ZZZZ);
Iterator<Double> itr = q.list().iterator();
if (itr.hasNext()) {
Double count = itr.next();
if (count != null) {
amount = count.doubleValue();
}
}
return amount;
} catch (Exception e) {
throw new SystemException(e);
} finally {
closeSession(session);
}
3.
try {
session = openSession();
StringBuffer sql = new StringBuffer("");
..............
SQLQuery q = session.createSQLQuery(sql.toString());
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(voyageIDPre);
List list = QueryUtil.list(q, getDialect(), 0, Integer.MAX_VALUE);
List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
//need check : list is not null
for (int i = 0; i < list.size(); i++) {
Map<String, Object> map = new HashMap<String, Object>();
Object[] record = (Object[]) list.get(i);
map.put("xxx", record[0] == null? "" : record[0]);
map.put("yyyy", record[1] == null? "" : record[1]);
map.put("yyyy", record[6] == null? "" : record[6]);
result.add(map);
}
return result;
} catch (Exception e) {
throw new SystemException(e);
} finally {
closeSession(session);
}
liferay中查询数据,用到如下语句 select xx from yyy where .....;
原因:
只select一个字段
解决思路:
1. 类型转换, 尝试biginteger, object 等等均不可行,转成object都不可以,此路不通。
2. SELECT XXX AS COUNT_VALUE from yyy where .....
(COUNT_VALUE 是liferay定义的关键字)
3. SELECT XXX , ZZZ FROM yyyy where ......
select 多于一个字段就可以正常操作,不会报转换异常
具体代码:
2.
红色字体根据实际情况改变
Session session = null;
try {
session = openSession();
StringBuffer sql = new StringBuffer("");
sql.append(" SELECT xxx AS COUNT_VALUE ");
...................
SQLQuery q = session.createSQLQuery(sql.toString());
q.addScalar(COUNT_COLUMN_NAME, Type.DOUBLE);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(ZZZZ);
Iterator<Double> itr = q.list().iterator();
if (itr.hasNext()) {
Double count = itr.next();
if (count != null) {
amount = count.doubleValue();
}
}
return amount;
} catch (Exception e) {
throw new SystemException(e);
} finally {
closeSession(session);
}
3.
try {
session = openSession();
StringBuffer sql = new StringBuffer("");
..............
SQLQuery q = session.createSQLQuery(sql.toString());
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(voyageIDPre);
List list = QueryUtil.list(q, getDialect(), 0, Integer.MAX_VALUE);
List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
//need check : list is not null
for (int i = 0; i < list.size(); i++) {
Map<String, Object> map = new HashMap<String, Object>();
Object[] record = (Object[]) list.get(i);
map.put("xxx", record[0] == null? "" : record[0]);
map.put("yyyy", record[1] == null? "" : record[1]);
map.put("yyyy", record[6] == null? "" : record[6]);
result.add(map);
}
return result;
} catch (Exception e) {
throw new SystemException(e);
} finally {
closeSession(session);
}
发表评论
-
AOP
2017-02-28 13:14 482http://blog.csdn.net/moreev ... -
liferay 6.1 CE + LDAP 导入自定义字段
2013-12-21 16:06 898导入自定义字段时无论如何尝试都不成功,但是自定义字段的值导 ... -
liferay 6.1 CE LDAP
2013-12-14 14:20 2324goole了许多网页,讲的是五花八门,最后想起来去port ... -
research
2013-12-10 10:42 0<aui:select label="typ ... -
fetch 与 find 的区别
2013-11-11 09:55 909liferay中 findxxxx 与fetchxxx 方 ... -
liferay 一对多 多对多 关系 (model)
2013-11-07 11:24 710通过model层实现 例如 people 与 ad ... -
liferay 一对多 多对多 关系 (build-service)
2013-11-07 11:04 691通过配置service.xml 实现 说明:一对多 ... -
liferay Logical Architecture
2013-09-11 15:20 1186Logical Architecture 详 ... -
liferay 文件下载失败
2013-07-01 14:48 589现象: http://issues.liferay.com/ ... -
403
2013-06-05 16:41 0portal.properties auth.forward ... -
[转] Liferay多数据源配置及开发
2013-06-05 16:16 764http://www.chinasb.org/archives ... -
aui-autocomplete [ 三 ] 源码解析
2013-01-09 09:53 1584懒了, 只翻译几个目前用到的属性,其实英文写的很明白的,需要花 ... -
aui-autocomplete [ 二 ] 验证未通过保留输入值
2013-01-09 09:25 855<% long myUserId = ParamU ... -
aui-autocomplete [ 一 ] override
2013-01-08 13:58 859liferay aui-autocomplete 如: 数据 ... -
Liferay AutoFields 添加事件
2013-01-08 09:30 0new Liferay.AutoFields( ... -
web app timezone (view-business-db)
2013-01-07 11:50 1246目标:面向多区域用户 添加更新记录:用户输入本区域时间, 数据 ... -
liferay auto_filed
2012-12-03 14:51 808new Liferay.AutoFields( ... -
liferay at java.util.regex.Pattern$Curly.match0
2012-11-21 13:17 923build-service 出现liferay at java ... -
actionurl 参数顺序
2012-10-19 14:16 1507PortletURL editURL = renderResp ... -
Unable to find required classes (javax.activation.DataHandler and javax.mail.int
2012-09-04 13:41 10982.1.8 错误原因: 需要mail.jar和activat ...
相关推荐
在Java编程中,`java.lang.ClassCastException`是一个运行时异常,通常发生在强制类型转换时,如果尝试将一个对象转换为其非兼容类型时就会抛出。这个异常表明在编译时可能成功的类型转换,在运行时被证明是错误的。...
标题中的“json-lib net.sf.ezmorph.bean.MorphDynaBean cannot be cast to xxx”是一个典型的Java运行时异常,通常发生在尝试将一个对象强制转换为其不兼容类型的实例时。在这个特定的情况下,`MorphDynaBean`是...
"java.lang.NoClassDefFoundError错误解决办法" java.lang.NoClassDefFoundError错误是一种常见的Java错误,它发生在Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。下面是该错误的解决...
cannot be cast to javax.servlet.Filter 报错, 原因servlet-api.jar冲突 使用maven开发web应用程序, 启动的时候报错: jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/...
- **java.lang.ClassCastException**:当尝试将对象强制转换为不兼容的类型时抛出。 - **java.lang.NegativeArraySizeException**:创建具有负长度的数组时抛出。 - **java.lang.SecurityException**:在安全管理器...
Load canal adapter: es7 failed java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to ...canal-adapter1.1.5报错, 将...
12. **java.lang.ClassCastException**: 强制类型转换失败时抛出。只有当对象是目标类的子类或实现了目标接口时,才能成功进行类型转换。 13. **java.lang.ClassNotFoundException**: 在运行时找不到指定的类时,抛...
- **`java.lang.ClassCastException`**:当试图将对象强制转换为不兼容类型时抛出。 - **`java.lang.AbstractMethodError`**:当子类没有重写抽象父类的抽象方法时抛出。 - **`java.lang.ClassCircularityError`**:...
7. **`java.lang.ClassCastException`**:类型强制转换异常。当试图将一个对象强制转换为它不是的子类类型时,会抛出此异常。在进行类型转换时,需要确认对象的实际类型。 8. **`java.lang....
在Java编程中,XML(可扩展标记语言)是一种被广泛用于数据存储和交换的格式。为了处理XML文档,Java提供了多种API,其中最常用的包括DOM、SAX、DOM4J和JDOM。以下是对这些方法的详细介绍: 1. DOM(Document ...
7. **java.lang.ClassCastException**: 当试图将对象强制转换为其非兼容类型时抛出。在进行类型转换前,应确认对象的实际类型。 8. **java.lang.NegativeArraySizeException**: 创建具有负长度的数组会导致此异常。...
7. **`java.lang.ClassCastException`**: 尝试将一个对象强制转换为其不兼容的类型时抛出。在执行类型转换之前,使用`instanceof`关键字来检查对象的实际类型。 8. **`java.lang.NegativeArraySizeException`**:...
7. **java.lang.ClassCastException**: 在强制类型转换时,如果目标类型与实际对象的类型不匹配,会抛出此异常。在进行类型转换前,应先使用`instanceof`关键字检查对象的类型。 8. **java.lang....
在Android开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON字符串,反之亦然。然而,在混淆代码时,可能会遇到一些问题,导致Gson无法正常工作。本文将深入探讨这些问题及其解决方案...
7. **java.lang.ClassCastException**: 在类型转换时,如果目标类型与实际类型不符,就会抛出此异常。在进行类型转换时,确保转换的合法性。 8. **java.lang.NegativeArraySizeException**: 创建具有负大小的...
项目中碰到的,已解决,写个文档记录一下
#### 四、Java.lang.Integer cannot be cast to java.lang.Long **定义**: 当尝试将 `Integer` 对象强制转换为 `Long` 对象时抛出 `ClassCastException`。 **示例**: 下面的代码会触发 `ClassCastException`: ```...
java.lang.NullPointerException 是一种常见的错误,发生在程序中调用了未经初始化的对象或不存在的对象时。例如,在创建图片或调用数组时,如果图片未经初始化或数组元素未经初始化,就会出现该错误。解决方法是...
import java.lang.reflect.Method; public class ClobUtils { /** * 将 CLOB 对象转换为字符串 * @param in 输入的 CLOB 对象 * @return 字符串形式的 CLOB 内容 */ public static Object clobToString...