パターン01:
public class AccountTriggerHandler {
//取引先の共有設定が私有
//実行ユーザより、検索結果がnullの場合あり
List<Account> accList = [Select Id,Name From Account];
}
パターン02:
public with sharing class AccountTriggerHandler {
//取引先の共有設定が私有
//実行ユーザより、検索結果がnullの場合あり
List<Account> accList = [Select Id,Name From Account];
}
パターン03:
public without sharing class AccountTriggerHandler {
//取引先の共有設定が私有
//検索結果が全組織のデータ
List<Account> accList = [Select Id,Name From Account];
}
結論:
パターン01 と パターン02 が結果が一緒、共有設定が私有の場合、実行ユーザより、検索結果が変わる場合ある。
パターン03が共有設定が無視して、すべてのレコードを取得できる。