Hibernate 在同一事务中混合原始查询和ORM操作

Hibernate 在同一事务中混合原始查询和ORM操作,hibernate,coldfusion,cfquery,stalestateexception,Hibernate,Coldfusion,Cfquery,Stalestateexception,在同一个cftransaction标记中使用cfquery和ORM操作混合使用原始查询安全吗 <cftransaction> <cfquery datasource="test">...</cfqueyr> <!--- A ---> <cfset var e = entityLoadByPK('SomeEntity', someId)> <!--- B ---> <cfset e.setSome

在同一个
cftransaction
标记中使用
cfquery
和ORM操作混合使用原始查询安全吗

<cftransaction>
    <cfquery datasource="test">...</cfqueyr> <!--- A --->
    <cfset var e = entityLoadByPK('SomeEntity', someId)> <!--- B --->
    <cfset e.setSomeProperty('test')> <!--- C --->
    <cfquery datasource="test">...</cfquery> <!--- D --->
</cftransaction>

我还尝试在ORM语句之后立即使用
ormFlush()。有没有办法在同一个
cftransaction
中混合原始查询和ORM语句,并让语句按顺序运行?也许我完全误解了这个问题,但我现在很困惑。

尝试使用Ormexecutequiry

ORMExecuteQuery("update SomeEntity set SomeProperty = 'test' where id = :id",
  {"id"="someId"});`

这些命令会立即执行,并跳过ORM会话。

我会再次仔细查看
ormFlush()
。我相信这确实有效,我以前用过它,没有问题。@Henry,我必须等到星期一再检查一遍。如果您安装了CF,是否可以通过在表中插入3行(不带orm、orm、不带orm)并检查结果来确认您的声明?谢谢谢谢你的提示。然而,我没有花时间进一步调查这个问题,检查我的假设是否正确。您知道在混合原始查询和ORM操作时是如何处理的吗?以及为什么在我的情况下使用
或mflush
不起作用?我很快会发布关于这个问题的补充信息。
ORMExecuteQuery("update SomeEntity set SomeProperty = 'test' where id = :id",
  {"id"="someId"});`