- 浏览: 51909 次
最新评论
现象:
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 446http://blog.csdn.net/moreev ... -
liferay 6.1 CE + LDAP 导入自定义字段
2013-12-21 16:06 867导入自定义字段时无论如何尝试都不成功,但是自定义字段的值导 ... -
liferay 6.1 CE LDAP
2013-12-14 14:20 2283goole了许多网页,讲的是五花八门,最后想起来去port ... -
research
2013-12-10 10:42 0<aui:select label="typ ... -
fetch 与 find 的区别
2013-11-11 09:55 871liferay中 findxxxx 与fetchxxx 方 ... -
liferay 一对多 多对多 关系 (model)
2013-11-07 11:24 610通过model层实现 例如 people 与 ad ... -
liferay 一对多 多对多 关系 (build-service)
2013-11-07 11:04 634通过配置service.xml 实现 说明:一对多 ... -
liferay Logical Architecture
2013-09-11 15:20 1151Logical Architecture 详 ... -
liferay 文件下载失败
2013-07-01 14:48 541现象: http://issues.liferay.com/ ... -
403
2013-06-05 16:41 0portal.properties auth.forward ... -
[转] Liferay多数据源配置及开发
2013-06-05 16:16 724http://www.chinasb.org/archives ... -
aui-autocomplete [ 三 ] 源码解析
2013-01-09 09:53 1557懒了, 只翻译几个目前用到的属性,其实英文写的很明白的,需要花 ... -
aui-autocomplete [ 二 ] 验证未通过保留输入值
2013-01-09 09:25 821<% long myUserId = ParamU ... -
aui-autocomplete [ 一 ] override
2013-01-08 13:58 817liferay aui-autocomplete 如: 数据 ... -
Liferay AutoFields 添加事件
2013-01-08 09:30 0new Liferay.AutoFields( ... -
web app timezone (view-business-db)
2013-01-07 11:50 1209目标:面向多区域用户 添加更新记录:用户输入本区域时间, 数据 ... -
liferay auto_filed
2012-12-03 14:51 746new Liferay.AutoFields( ... -
liferay at java.util.regex.Pattern$Curly.match0
2012-11-21 13:17 899build-service 出现liferay at java ... -
actionurl 参数顺序
2012-10-19 14:16 1466PortletURL editURL = renderResp ... -
Unable to find required classes (javax.activation.DataHandler and javax.mail.int
2012-09-04 13:41 9652.1.8 错误原因: 需要mail.jar和activat ...
相关推荐
ebean,sbean,dto
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 四种方式操作xml,包括xml,dom,sax,jdom这四种方式的一个简单例子。
其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的...java.lang.ClassCastException 类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常
二:保证 ImageCycleView的 父布局是LinearLayout 否则可能会报异常,比如 java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$...
例如,要在 REPL 中打印一个不错的堆栈跟踪: => (use 'clj-stacktrace.repl)=> ("foo")java.lang.ClassCastException: java.lang.String cannot be cast to clojure.lang.IFn (NO_SOURCE_FILE:0) Compiler.java:...
weblogic下转换oracle 的clob类型经常报转型错误,本例子通过反射解决weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB转型成oracle.sql.CLOB问题
44.java.lang.ClassCastException 类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。 45.java.lang....
简单封装一个精美、好用的菜单型PopupWindow
主要介绍了 java.util.ConcurrentModificationException 解决方法的相关资料,需要的朋友可以参考下
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报错, 将...
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to com.alibaba.druid.pool.DruidDataSource 可用这个jar替换...
解决canal同步es报错: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to com.alibaba.druid.pool.DruidDataSource
tomcat8.0.35刚好像没上传成功 java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext
一个基本的libpython-clj项目 希望这将有助于重现我所观察到的问题,该问题在评估代码时启用了nREPL 0.8.2,Clojure 1.10.2... class java.lang.String cannot be cast to class clojure.lang.Keyword ( java.lang.Str
QQ 在线状态查询,主要解决java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive的问题,我们将改错误的SoapObject更改为 Object 类型,该错误即可消除
import java.util.LinkedHashSet; public class HashSetTest { public static void main(String[] args) { HashSet hs = new LinkedHashSet(); hs.add("hahah"); hs.add("hehe"); hs.add("heihei"); hs....
类型错误现在在编译期间被捕获到了,而不是在运行时当作java.lang.ClassCastException展示出来,将类型检查从运行时挪到编译时有助于开发者更容易找到错误,并提高程序的可靠性 2、消除了代码中许多的强制类型...