【发布时间】:2012-05-19 00:19:16
【问题描述】:
我在使用 HQL 查询从相关实体获取数据时遇到问题。
我有一个与“图像”实体具有一对多关系的“照片拍摄”实体。 我正在尝试提取属于特定 Photoshoot 的所有图像,我想使用 HQL 查询来执行此操作,以便进行一些特定的过滤。
我得到的是这样的: 无法解析路径 [Photoshoot.sPhotoshootGUID],意外令牌 [Photoshoot] [FROM Image WHERE Photoshoot.sPhotoshootGUID = '889440aa-a12a-11e1-8edb-d02788828044']
我不知道为什么 - 如果我撤回 Photoshoot,我可以使用“getImages()”函数轻松获取相关图像。如果我使用完全相同的代码来获取另一个相关实体,它似乎工作正常!
这是我的实体的代码:
--- 图片---
<cfcomponent persistent="true" entityname="Image" table="tblImages_Base">
<!--- Identifier --->
<cfproperty name="sImageGUID" fieldtype="id" generator="guid" setter="false" />
<!--- Properties --->
<cfproperty name="sFileName" ormtype="string" />
<cfproperty name="sImageFolder" ormtype="string" dbdefault="" />
<cfproperty name="Active" ormtype="boolean" default=0 dbdefault=0 notnull="true" />
<!--- Many Images can belong to a single Photoshoot --->
<cfproperty name="Photoshoot"
fieldtype="many-to-one"
cfc="Photoshoot"
fkcolumn="fk_sPhotoshootGUID"
fetch="join"
inverse="true"
/>
</cfcomponent>
--- 拍照---
<cfcomponent persistent="true" entityname="Photoshoot" table="tblPhotoshoots">
<!--- Identifier --->
<cfproperty name="sPhotoshootGUID" fieldtype="id" generator="guid" setter="false" />
<!--- Properties --->
<cfproperty name="Active" ormtype="boolean" default=0 dbdefault=0 notnull="true" />
<cfproperty name="l_ImageOrder" ormtype="text" />
<!--- One Photoshoot can contain many Images --->
<cfproperty name="Images"
fieldtype="one-to-many"
cfc="Image"
fkcolumn="fk_sPhotoshootGUID"
type="array"
singularname="Image"
/>
</cfcomponent>
--- HQL 查询 ---
<cfquery name="Local.objPhotoshootImages" dbtype="hql">
FROM Image
WHERE Photoshoot.sPhotoshootGUID = '889440aa-a12a-11e1-8edb-d02788828044'
</cfquery>
如果有什么不同,我在 Railo 3.3.3.000 上运行
【问题讨论】:
-
您是否尝试过确定 Photoshoot 的范围,因为它可能不明确。 '来自图像 img where img.Photoshoot.sPhotoshootGuid =...'
-
试一试,但遇到了同样的错误。
标签: orm coldfusion hql entity-relationship railo