Orm 序列化JSON只返回前两条记录

Orm 序列化JSON只返回前两条记录,orm,coldfusion,coldfusion-9,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]; seri

我有一个问题,序列化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 );
{"id":12321,"endorsements":[{"effectiveDate":"July, 01 2009 00:00:00","active":true},
{"effectiveDate":"July, 01 2009 00:00:00","active":true},
"","","","","","","","",""]}
以及JSON的一部分:

policy = entityLoad("policy",1018379202)[1];
serializeJSON( policy );
{"id":12321,"endorsements":[{"effectiveDate":"July, 01 2009 00:00:00","active":true},
{"effectiveDate":"July, 01 2009 00:00:00","active":true},
"","","","","","","","",""]}
空字符串应该是关系中的其他记录

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


想法?

错误发生在第409行左右的coldfusion.runtime.JSONUtils.serializeJSON()中

如果要序列化持久cfc,它会将cfc的完全限定名添加到ArrayList中,ArrayList会递归传递

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

不太确定他们想用if()实现什么。 可能处理循环引用


此错误在4月份被重新记录:

第三条记录的内容是否有任何异常?另外,如果您处理的是不同的“策略”记录(可能会有不同的子“背书”记录),您是否仍然会遇到完全相同的问题(应该有更多记录时只有两个记录)?如果您转储策略,所有记录都在那里吗?还是只有在调用serializeJSON()后才会丢失它们?@JakeFeasel在第三条记录中没有什么奇怪的地方,我在其他实体中也遇到同样的问题。@baynezy如果我转储策略,所有记录都在那里,检索它们的SQL会获取所有记录。@SamFarmer我知道这听起来有点疯狂,但是,您可以尝试将其序列化为WDDX并查看是否存在相同的问题吗?虽然JSONUtils中的代码在cf901和cf10中有很大不同,但两者都会产生相同的错误-只有前两个序列化正确-其余为空结构。