Hibernate 对CF ORM中的关系和HQL查询感到困惑
为了简单起见,假设我有两个实体,配置如下: Topic.cfcHibernate 对CF ORM中的关系和HQL查询感到困惑,hibernate,orm,coldfusion,coldfusion-9,Hibernate,Orm,Coldfusion,Coldfusion 9,为了简单起见,假设我有两个实体,配置如下: Topic.cfc /** * @accessors true * @persistent true */ component { /** * @fieldtype id * @generator uuid * @sqltype varchar(35) */ property topicID; /** * @type array * @fieldtype on
/**
* @accessors true
* @persistent true
*/
component {
/**
* @fieldtype id
* @generator uuid
* @sqltype varchar(35)
*/
property topicID;
/**
* @type array
* @fieldtype one-to-many
* @cfc Response
* @fkcolumn topicID
* @singularname response
*/
property responses;
}
/**
* @accessors true
* @persistent true
*/
component {
/**
* @fieldtype id
* @generator uuid
* @sqltype varchar(35)
*/
property responseID;
/**
* @type date
* @ormtype timestamp
*/
property responseTime;
}
响应。cfc
/**
* @accessors true
* @persistent true
*/
component {
/**
* @fieldtype id
* @generator uuid
* @sqltype varchar(35)
*/
property topicID;
/**
* @type array
* @fieldtype one-to-many
* @cfc Response
* @fkcolumn topicID
* @singularname response
*/
property responses;
}
/**
* @accessors true
* @persistent true
*/
component {
/**
* @fieldtype id
* @generator uuid
* @sqltype varchar(35)
*/
property responseID;
/**
* @type date
* @ormtype timestamp
*/
property responseTime;
}
我需要运行一个HQL查询(或者不运行,你告诉我…),该查询将在指定的日期范围内返回指定主题的所有响应
我的查询当前如下所示:
var params = {
'start' = startDate,
'end' = endDate,
'topicID' = topicID
};
var responses = ormExecuteQuery('
from Response
where responseTime >= :start
and responseTime <= :end
and Topic.topicID = :topicID
', params );
但这会导致同样的错误。我真的不知道从这里到哪里去。提前谢谢 如前所述,该查询假设从响应到主题之间存在一种关系,而根据您的代码,这种关系并不存在
可以肯定的是,如果您将该关系添加到响应中,查询将起作用。啊,太简单了!我只是稍微改变了一下查询:
从主题转换为t加入t.responses r其中r.responseTime>=:start和r>responseTime