【Salesforce】SObject型のcloneについて調べた
SalesforceのApexでSObject型というのがありますね。
SObjectを複製するメソッドなのですが、たまに引数を忘れるのでメモです。
clone項目について確認しておきましょう。
引数 | 型 | 説明 | デフォルト |
---|---|---|---|
preserveId | Boolean | 元のオブジェクトのIDを保持するか | false |
isDeepClone | Boolean | 各フィールドの値を完全にコピーするか、参照のみか | false |
preserveReadonlyTimestamps | Boolean | 参照のみのタイムスタンプ項目を重複で保持するか削除するか | false |
preserveAutonumber | Boolean | 自動採番項目をコピーするか | false |
すべて省略可能な引数なんですね。
コピーしたSObjectの値を変更しないのであれば、引数も必要ないようです。
たまにcloneの引数が分からなくなったりしますが、「clone(false, true)」の形で使用されているのを一番よく見る気がします。
逆に、第三引数や第四引数は見たことがありません。
あまり使われないのでしょうか。。
注意が必要なのは、取得していない項目については値が設定されないことでしょうか。
cloneするオブジェクトの項目が増えた際には、必要であればApex側の修正も必要になりますね。
No comments.