如何在CFSCRIPT中使用EntityDelete从临时表中删除行

时间:2014-06-26 00:34:59

标签: hibernate orm coldfusion-10 cfml

如果我使用ORMExecuteQuery()从临时关系加载了一组实体,我如何使用EntityDelete()删除所有实体。

我尝试了EntityDelete( tempArr ),但它不起作用。但是,我能够遍历数组并将每个实体添加其他信息到新的最终关系中。

这是我的cfscript代码:

tempArr = ORMExecuteQuery( "FROM TEMP WHERE CartID=#FORM.CartID#" );
transaction {
    for( i=1; i LTE ArrayLen(tempArr); i=i+1 ) {
        reg = EntityNew( "register" );
        reg.setFirstName( tempArr[i].getFirstName() );
        ........
        EntitySave( reg );
        ORMFlush();
    }
    EntityDelete( tempArr );//<<== THIS IS NOT DELETING THE ENTITIES
}

错误:

- Object passed is not a valid entity.

1 个答案:

答案 0 :(得分:0)

在for循环结束时使用EntityDelete( tempArr[i] );

tempArr = ORMExecuteQuery( "FROM TEMP WHERE CartID=#FORM.CartID#" );
transaction {
    for( i=1; i LTE ArrayLen(tempArr); i=i+1 ) {
        reg = EntityNew( "register" );
        reg.setFirstName( tempArr[i].getFirstName() );
        ........
        EntitySave( reg );
        ORMFlush();
        EntityDelete( tempArr[i] );//<<== THIS WORKS!!
    }
}