`

Property 'delegate' has no getter method 解决办法

    博客分类:
  • ssh
阅读更多

今天在做修改数据的时候报了一个net.sf.json.JSONException: java.lang.NoSuchMethodException: Property 'delegate' has no getter method 错误,一开始以为是getter和setter的错误,其实不然。

我们使用json-lib包来用json转换hibernate持久化对象时候需要注意:如果持久化对象采用了延迟加载,或者持久化对象和另一持久化对象循环引用的时候会出现此类错误

我写的load函数中是有关于级联查询的,在配置hibernate时没有写lazy属性,代码如下

		<many-to-one name="astCommon" class="com.kingee.ast.assetManager.pojo.AstCommon" column="assetID"></many-to-one>
		<many-to-one name="depart" class="com.kingee.ast.system.pojo.AstSysDepartOrg" column="deptID" ></many-to-one>

 

因为没有运用延迟加载,所以会循环读取astcommon和depart表中的数据,所以报错...

 

将hibernate配置文件改成

		<many-to-one name="astCommon" class="com.kingee.ast.assetManager.pojo.AstCommon" column="assetID" lazy="false"></many-to-one>
		<many-to-one name="depart" class="com.kingee.ast.system.pojo.AstSysDepartOrg" column="deptID" lazy="false"></many-to-one>

 

后,运行正常,解决问题了...

分享到:
评论
2 楼 wangpoul 2012-09-29  
Thank YOU Very Much!
1 楼 慕月星辰 2012-05-23  

相关推荐

Global site tag (gtag.js) - Google Analytics