使用hibernate查询数据,用json转换数据时发生异常:java.lang.reflect.InvocationTargetException
原因分析:
在使用json时, json中只支持java.util.Date 中的Date类 ,
而不支持java.sql.Date 中的类,而hibernate映射的是java.sql.Date。
因此需做一下转换才能正常使用json转换
1.java.util.Date date = new Date(model.getCreateDate().getTime());
vo.setCreateDate(date);
其中:model.getCreateDate()是hibernate查询出的Date,date是转化后需要的Date.
2.也可以在json转换时,通过设置JsonConfig来转换:
JsonConfig config = new JsonConfig();
config.setIgnoreDefaultExcludes(false);
config.registerJsonValueProcessor(Date.class,
new DateJsonValueProcessor("yyyy-MM-dd HH-mm-ss"));
JSONArray resultArray = new JSONArray();
resultArray = JSONArray.fromObject(list,config);
本文解决在使用Hibernate查询数据并转换为JSON格式时遇到的问题:由于Hibernate默认返回java.sql.Date类型,而JSON仅支持java.util.Date,导致转换异常。提供两种解决方案:直接转换日期类型和配置JSON转换规则。
2162

被折叠的 条评论
为什么被折叠?



