如何克隆ORM实体并使用克隆属性创建新记录?

时间:2012-10-31 21:38:44

标签: coldfusion

原因是,我想重用超过100列,只有4列会被更改,然后作为新记录插入。我的最后一招是加载我想要克隆的实体,然后手动设置新实体的属性和加载的实体。

我尝试了以下内容。

<!--- load entity I would like to clone -->
<cfset mainObj= EntityLoad("myBean",{fkOtherId = 2},true)>
<!--- create new entity to save -->
<cfset newObj = EntityNew( "myBean" )>
<!--- clone entity -->
<cfset newObj = EntityMerge(mainObj)>
<cfset newObj.setFirstName(‘John’)>
<cfset newObj.setLastName(‘Smith’)>
<cfset entitySave(newObj)>

解决:使用

<cfset newObj = duplicate(mainObj)>
<cfset newObj.setId(‘’)>
<cfset newObj.setFirstName(‘John’)>
<cfset newObj.setLastName(‘Smith’)>
<cfset entitySave(newObj, true)>

1 个答案:

答案 0 :(得分:2)

entitySave有一个名为forceInsert的第二个参数。这应该在这里工作。

<cfset entitySave( newObj, true )>