Orm 获得;无法将给定对象转换为查询;冷血

Orm 获得;无法将给定对象转换为查询;冷血,orm,coldfusion,mura,fw1,Orm,Coldfusion,Mura,Fw1,这是间歇性的(通常在启动时)。我在执行下面的代码时得到了上面的错误消息 var arr = ORMExecuteQuery( "FROM priority WHERE active = 1 ORDER BY sortOrder" ); var qry = entityToQuery( arr ); 第一行执行得很好,但第二行会崩溃。解决方案是运行或mreload() 但问题总是以一种不可预测的方式出现。即使没有对使用ORM的bean或网关进行任何更改。完全不可预

这是间歇性的(通常在启动时)。我在执行下面的代码时得到了上面的错误消息

    var arr     = ORMExecuteQuery( "FROM priority WHERE active = 1 ORDER BY sortOrder" );
    var qry     = entityToQuery( arr );
第一行执行得很好,但第二行会崩溃。解决方案是运行
或mreload()

但问题总是以一种不可预测的方式出现。即使没有对使用ORM的bean或网关进行任何更改。完全不可预测,不可能有意复制。是否还有其他东西会干扰hibernate映射,从而导致此类问题

其他可能相关的信息:

  • 这是一个基于FW/1最新版本的MURA插件
  • ormreload()
    是一个永久性修复程序(直到再次失败)
我目前的解决方案是将
或mreload()
放在
setupApplication()
application.cfc方法中


我只是想更好地理解是什么导致了这个问题。

这里有一个愚蠢的问题……但您真的需要将数组转换为查询吗?我在应用程序中广泛使用ORM,而且我从来没有必要使用
entityToQuery()
。如果你真的需要一个查询对象,为什么还要用ORM呢?只需运行SQL查询即可。@ScottStroz问得好。我过去很少使用CF ORM。我有自己的轻型ORM,它对我来说非常有效。现在,我正在使用一个继承的应用程序,并试图在整个现有项目中保持工具的一致性。在本例中,我尝试获取所有优先级的列表,以便填充选择列表。picklist是使用一些自定义UI标记库(也继承)构建的。因此,picklist正在寻找一个查询对象。所以我可以重构,但仍然试图弄清楚为什么entityToQuery对我来说是脆弱的。谢谢你的建议。我可以这样做。确保
var arr
不是空数组
entityToQuery
仅当数组中有行时才起作用。使用ORM然后转换为查询可能会产生大量开销。这就是为什么我倾向于选择其中一个。@JamesAMohler数组不是空的。请注意,ORMreload修复了该问题。这不是缓存问题…转储和中止显示值。删除中止将抛出错误。然后ormReload解决了这个问题。