SerializeJSON仅返回前两个记录

时间:2012-03-21 22:03:47

标签: orm coldfusion coldfusion-9

我有一个问题,即序列化ORM关系只显示前两个记录。其余只显示[]空白。

以下是一个示例关系:

property name="endorsements" singularname="endorsement" fieldtype="one-to-many" lazy="false" fkcolumn="xxx" cfc="endorsements" remotingfetch="true";

获取JSON:

policy = entityLoad("policy",1018379202)[1];
serializeJSON( policy );

JSON的一部分:

{"id":12321,"endorsements":[{"effectiveDate":"July, 01 2009 00:00:00","active":true},
{"effectiveDate":"July, 01 2009 00:00:00","active":true},
"","","","","","","","",""]}

空字符串应该是关系中的其他记录。

我已经通过调试文件验证了Hibernate查询带回了所有记录,cfdump也显示了这一点。

思想?

1 个答案:

答案 0 :(得分:4)

该错误发生在409号线附近的coldfusion.runtime.JSONUtils.serializeJSON()中。

如果要序列化持久性cfc,它会将cfc的完全限定名称添加到ArrayList中,该列表以递归方式传递。

然后有一个if()语句试图找到cfc的完全限定名称,一旦它在列表中出现两次以上,就会以“{}”提前离开该函数。

不确定他们想要用if()来完成什么。 可能要处理循环引用?

此错误已在4月份记录:https://bugbase.adobe.com/index.cfm?event=bug&id=3175667