Positioned Update not supported.

在 Java 程序中 利用 JSONObject.fromObject(processDefinition)).toString(),{processDefinition是hibernate查询出来的对象},出现下面的异常

net.sf.json.JSONException: java.lang.reflect.InvocationTargetException,

经过调试发现 是由于 processDefinition中有个 java.util.Date类型的变量, 而在hibernate配置文件中 这个变量<property name="createdDate" type="date"  column="CREATED_DATE" />, type 用了 date,改为java.util.Date 异常解决, 可能是由于 ,date 对应的 类型是Java.sql.date  引起的

在使用Json-Lib将Java对象转成JsonString时,一般情况下,我们都使用JSONObject.fromObject(Java对象) 就可以了,但是今天在使用此方法处理从数据库查询的返回结果时,发生了异常错误。谷歌了一把,找到了原因和解决办法:原因:我使用了Hibernate来操作数据库,而Json-lib在处理这类结果对象时,存在了这个异常问题。解决办法如下。

在网上查的 解决办法如下,不过我没用
JSONObject.fromObject(hibernate对象)

出现以下Exception
net.sf.json.JSONException: java.lang.reflect.InvocationTargetException 
    net.sf.json.JSONObject._fromBean(JSONObject.java:959)   
 
detaiMessage:Positioned Update not supported. 
 
 
解决方法如下 :使用以下代码来
 
Java 代码
JsonConfig jsonConfig=new JsonConfig();  
jsonConfig.setExcludes(new String[]{"handler","hibernateLazyInitializer"});  
   
JSONObject.fromObject(hibernate对象,jsonConfig);JsonConfig jsonConfig=new JsonConfig();  
jsonConfig.setExcludes(new String[]{"handler","hibernateLazyInitializer"});  
   
JSONObject.fromObject(hibernate对象,jsonConfig);
 

你可能感兴趣的:(Positioned Update not supported.)