Hibernate 实体删除:如何删除实体

Hibernate 实体删除:如何删除实体,hibernate,coldfusion,coldfusion-9,Hibernate,Coldfusion,Coldfusion 9,如果我有一个实体数组,删除整个实体数组(或者说整个ORM表)的最简单方法是什么?我有: 现在要删除所有实体,我会使用某种循环吗?如果是,如何访问中的单个实体主键?我试过: <cfset userTemp = EntityLoad("User", allUsers[i].User.userID, true) /> 但这不起作用…如果要删除阵列(在释放内存方面),则以下操作应该可以: <cfset allUsers = ""> <!--- or --->

如果我有一个实体数组,删除整个实体数组(或者说整个ORM表)的最简单方法是什么?我有:


现在要删除所有实体,我会使用某种循环吗?如果是,如何访问中的单个实体主键?我试过:

<cfset userTemp = EntityLoad("User", allUsers[i].User.userID, true) /> 

但这不起作用…

如果要删除阵列(在释放内存方面),则以下操作应该可以:

<cfset allUsers = "">
<!--- or --->
<cfset StructDelete(variables, "allUsers")>


当然,这只会删除一个引用。如果对象(allUsers或单个数组成员)在其他地方被引用,这些引用将继续工作。

EntityLoad将返回一个实体对象数组,因此我们可以循环该数组并使用entityDelete:

<cfloop array="#allUsers#" index="User">
   <cfset entityDelete( User )>
</cfloop>


一如既往,删除数据时要小心!我通常喜欢软删除。

如果您希望使用数组表示法,可以这样做

<cfloop from="1" to="#arraylen(allUsers)#" index="i">
    <cfset entityDelete( allUsers[i] )>
</cfloop>

不让ColdFusion完成所有工作的另一种方法是执行查询

<cfset ormexecutequery("DELETE FROM User",true)>

我认为这应该以cfloop标记结束,而不是cfif
<cfset ormexecutequery("DELETE FROM User",true)>