How Are Commits Handled?

DEX502 - Module 5: SOAP API

📄 第 209 页 🎬 视频课程

课程章节介绍

让我们来聊聊Salesforce中的提交处理。想象一下,你正在处理一堆数据记录,就像你在整理一堆文件一样。在Salesforce中,当你尝试提交这些记录时,系统会自动检查每一条记录是否有错误。 默认情况下,如果记录没有错误,它们就会自动提交到数据库中,就像你把文件顺利归档一样。但如果有些记录有问题,它们就会被标记为“失败”,就像你发现有些文件有错误,需要重新检查一样。 现在,假设你希望所有的记录要么全部成功提交,要么全部不提交,就像你希望要么所有文件都归档成功,要么都不归档。这时,你可以使用一个叫做`AllOrNoneHeader`的设置。这个设置就像是一个开关,当你把它设置为`true`时,系统会确保所有的记录都成功提交,如果有任何一条记录失败,那么所有的记录都不会提交。这就像是你告诉系统:“要么全部成功,要么全部重来。” 举个例子,假设你正在创建两个新的联系人记录。你可以这样设置: ```java 1. connection.setAllOrNoneHeader(true); 2. // 尝试创建两个联系人 3. SaveResult[] results = connection.create(contacts); ``` 在这个例子中,如果两个联系人记录都成功创建,那么它们都会被提交到数据库中。但如果其中一个记录有问题,那么两个记录都不会被提交,系统会回滚所有的更改。 这种处理方式也被称为“乐观提交”,因为它假设大多数情况下操作都会成功,只有在出现问题时才会回滚。就像你乐观地认为所有文件都能顺利归档,只有在发现问题时才需要重新整理。 希望这个解释能帮助你更好地理解Salesforce中的提交处理!如果有任何问题,随时问我哦!