インターフェース DataAccessStrategy
- すべてのスーパーインターフェース:
RelationResolver
- すべての既知の実装クラス:
CascadingDataAccessStrategy、DefaultDataAccessStrategy、DelegatingDataAccessStrategy、MyBatisDataAccessStrategy
メソッドごとに 1 つの SQL ステートメントで実装できるデータベースへのアクセスの抽象化。完全な集約に関連する相互作用を提供する
JdbcAggregateOperations とは対照的に、1 つのエンティティに関連します。- 作成者:
- Jens Schauder, Tyler Van Gorder, Milan Milanov, Myeonghyeon Lee, Chirag Tailor, Diego Krupitza, Sergey Korotaev
メソッドのサマリー
修飾子と型メソッド説明<T> voidacquireLockAll(LockMode lockMode, ClassSE<T> domainType) 指定されたドメイン型のすべての集約のロックを取得します。<T> voidacquireLockById(ObjectSE id, LockMode lockMode, ClassSE<T> domainType) id で指定された集約のロックを取得します。long指定されたドメイン型を表すテーブル内の行をカウントします。<T> long指定されたqueryに一致する、指定されたプローブ型を表すテーブル内の行をカウントします。voiddelete(IterableSE<ObjectSE> ids, ClassSE<?> domainType) domainType で識別されるテーブルから、ID で識別される複数の行を削除します。voiddelete(IterableSE<ObjectSE> rootIds, PersistentPropertyPath<RelationalPersistentProperty> propertyPath) rootIds によって識別されるインスタンスから、propertyPath 経由で到達可能なすべてのエンティティを削除します。voiddomainType で識別されるテーブルから、ID で識別される単一の行を削除します。voiddelete(ObjectSE rootId, PersistentPropertyPath<RelationalPersistentProperty> propertyPath) rootId によって識別されるインスタンスから、propertyPath 経由で到達可能なすべてのエンティティを削除します。<T> void指定されたドメイン型のすべてのエンティティを削除します。voiddeleteAll(PersistentPropertyPath<RelationalPersistentProperty> propertyPath) 任意のインスタンスから propertyPath 経由でアクセス可能なすべてのエンティティを削除します。<T> voiddeleteWithVersion(ObjectSE id, ClassSE<T> domainType, NumberSE previousVersion) データベースから単一のエンティティを削除し、バージョンプロパティを使用して楽観的レコードロックを適用します。<T> boolean指定されたQueryに一致する型domainTypeの集約があるかどうかを判別します。<T> booleanexistsById(ObjectSE id, ClassSE<T> domainType) 指定された型の指定された ID を持つ行が存在する場合に返します。<T> IterableSE<T>指定された型のすべてのエンティティをロードします。<T> IterableSE<T>指定された型のすべてのエンティティを読み込み、ページングしてソートします。<T> IterableSE<T>指定された型のすべてのエンティティをソートしてロードします。<T> IterableSE<T>SELECTクエリを実行し、結果のアイテムをIterableSE に変換します。<T> IterableSE<T>SELECTクエリを実行し、結果のアイテムをIterableSE に変換します。<T> IterableSE<T>findAllById(IterableSE<?> ids, ClassSE<T> domainType) 引数として渡された ID のいずれかに一致するすべてのエンティティをロードします。findAllByPath(Identifier identifier, PersistentPropertyPath<? extends RelationalPersistentProperty> path) パスを介して到達可能なすべてのエンティティを検索します。<T extends @Nullable ObjectSE>
T型と ID で識別される単一のエンティティをロードします。<T> OptionalSE<T>SELECTクエリを実行し、結果のアイテムをエンティティに変換して、結果が 1 つだけになるようにします。<T> @Nullable ObjectSE[]insert(ListSE<InsertSubject<T>> insertSubjects, ClassSE<T> domainType, IdValueSource idValueSource) 複数のエンティティのデータを挿入します。<T> @Nullable ObjectSEinsert(T instance, ClassSE<T> domainType, Identifier identifier, IdValueSource idValueSource) 単一のエンティティのデータを挿入します。<T> StreamSE<T>指定された型のすべてのエンティティをStreamSE にロードします。<T> StreamSE<T>指定された型のすべてのエンティティをソートしてStreamSE にロードします。<T> StreamSE<T>SELECTクエリを実行し、結果のアイテムをStreamSE に変換します。<T> StreamSE<T>streamAllByIds(IterableSE<?> ids, ClassSE<T> domainType) StreamSE に引数として渡された ID の 1 つに一致するすべてのエンティティを読み込みます。<T> booleanデータベース内の単一のエンティティのデータを更新します。<T> booleanupdateWithVersion(T instance, ClassSE<T> domainType, NumberSE previousVersion) データベース内の単一のエンティティのデータを更新し、previousVersionプロパティを使用して楽観的レコードロックを適用します。
メソッドの詳細
getDialect
Dialect getDialect()- 戻り値:
- この戦略で使用されるダイアレクト。
- 導入:
- 4.0
getJdbcOperations
NamedParameterJdbcOperations getJdbcOperations()- 戻り値:
- この戦略で使用される
NamedParameterJdbcOperations。 - 導入:
- 4.0
insert
<T> @Nullable ObjectSE insert(T instance, ClassSE<T> domainType, Identifier identifier, IdValueSource idValueSource) 単一のエンティティのデータを挿入します。参照されたエンティティは処理されません。- 型パラメーター:
T- インスタンスの型。- パラメーター:
instance- 格納されるインスタンス。nullであってはなりません。domainType- インスタンスの型。nullであってはなりません。identifier- 挿入を考慮する必要があるが、エンティティの一部ではないデータに関する情報。つまり、親エンティティと、MapSE またはListSE に格納されているエンティティのキー / インデックス列への参照です。idValueSource- インサート用のIdValueSource。- 戻り値:
- データベースが生成した ID(存在する場合)。
- 導入:
- 2.4
insert
<T> @Nullable ObjectSE[] insert(ListSE<InsertSubject<T>> insertSubjects, ClassSE<T> domainType, IdValueSource idValueSource) 複数のエンティティのデータを挿入します。- 型パラメーター:
T- インスタンスの型。- パラメーター:
insertSubjects- 挿入されるサブジェクト。各サブジェクトにはインスタンスとその識別子が含まれます。nullであってはなりません。domainType- インスタンスの型。nullであってはなりません。idValueSource- インサート用のIdValueSource。- 戻り値:
- ID が生成された場合、挿入された各レコードに対応する ID。ID が生成されなかった場合、要素は
nullになります。 - 導入:
- 2.4
update
データベース内の単一のエンティティのデータを更新します。参照されたエンティティは処理されません。- 型パラメーター:
T- 保存するインスタンスの型。- パラメーター:
instance- 保存するインスタンス。nullであってはなりません。domainType- 保存するインスタンスの型。nullであってはなりません。- 戻り値:
- 更新によって実際に行が更新されたかどうか。
updateWithVersion
データベース内の単一のエンティティのデータを更新し、previousVersionプロパティを使用して楽観的レコードロックを適用します。参照されたエンティティは処理されません。ステートメントの形式は
UPDATE … SET … WHERE ID = :id and VERSION_COLUMN = :previousVersionになり、行が更新されていない場合は楽観的レコードロック例外がスローされます。- 型パラメーター:
T- 保存するインスタンスの型。- パラメーター:
instance- 保存するインスタンス。nullであってはなりません。domainType- 保存するインスタンスの型。nullであってはなりません。previousVersion- 保存されるインスタンスに割り当てられた以前のバージョン。- 戻り値:
- 更新によって実際に行が更新されたかどうか。
- 例外:
OptimisticLockingFailureException- オプティミスティックロックのバージョンチェックが失敗したと仮定して、更新で少なくとも 1 行の更新に失敗した場合。- 導入:
- 2.0
delete
domainType で識別されるテーブルから、ID で識別される単一の行を削除します。カスケード削除は処理されません。ステートメントの形式は
DELETE FROM … WHERE ID = :id and VERSION_COLUMN = :versionになり、行が更新されていない場合は楽観的レコードロック例外がスローされます。- パラメーター:
id- 削除する行の ID。nullであってはなりません。domainType- 削除するエンティティの型。操作するテーブルを暗黙的に決定します。nullであってはなりません。
delete
domainType で識別されるテーブルから、ID で識別される複数の行を削除します。カスケード削除は処理されません。ステートメントの形式は
DELETE FROM … WHERE ID IN (:ids)になり、行が更新されていない場合は楽観的レコードロック例外がスローされます。- パラメーター:
ids- 削除する行の ID。nullであってはなりません。domainType- 削除するエンティティの型。操作するテーブルを暗黙的に決定します。nullであってはなりません。- 導入:
- 3.0
deleteWithVersion
データベースから単一のエンティティを削除し、バージョンプロパティを使用して楽観的レコードロックを適用します。カスケード削除を処理しません。- パラメーター:
id- 削除する行の ID。nullであってはなりません。domainType- 削除するエンティティの型。操作するテーブルを暗黙的に決定します。nullであってはなりません。previousVersion- 保存されるインスタンスに割り当てられた以前のバージョン。- 例外:
OptimisticLockingFailureException- オプティミスティックロックのバージョンチェックが失敗したと仮定して、更新で少なくとも 1 行の更新に失敗した場合。- 導入:
- 2.0
delete
rootId によって識別されるインスタンスから、propertyPath 経由で到達可能なすべてのエンティティを削除します。- パラメーター:
rootId- propertyPath のベースとなるルートオブジェクトの ID。nullであってはなりません。propertyPath- ルートオブジェクトから削除するエンティティへのリード。nullであってはなりません。
delete
void delete(IterableSE<ObjectSE> rootIds, PersistentPropertyPath<RelationalPersistentProperty> propertyPath) rootIds によって識別されるインスタンスから、propertyPath 経由で到達可能なすべてのエンティティを削除します。- パラメーター:
rootIds- propertyPath のベースとなるルートオブジェクトの ID。nullまたは空であってはなりません。propertyPath- ルートオブジェクトから削除するエンティティへのリード。nullであってはなりません。
deleteAll
指定されたドメイン型のすべてのエンティティを削除します。- 型パラメーター:
T- ドメイン型の型。- パラメーター:
domainType- すべてのエントリを削除するドメイン型。nullであってはなりません。
deleteAll
任意のインスタンスから propertyPath 経由でアクセス可能なすべてのエンティティを削除します。- パラメーター:
propertyPath- ルートオブジェクトから削除するエンティティへのリード。nullであってはなりません。
acquireLockById
id で指定された集約のロックを取得します。- パラメーター:
id- ロードするエンティティの ID。nullであってはなりません。lockMode- 選択のためのロックモード。nullであってはなりません。domainType- エンティティのドメイン型。nullであってはなりません。
acquireLockAll
指定されたドメイン型のすべての集約のロックを取得します。- パラメーター:
lockMode- 選択のためのロックモード。nullであってはなりません。domainType- エンティティのドメイン型。nullであってはなりません。
count
指定されたドメイン型を表すテーブル内の行をカウントします。- パラメーター:
domainType- 要素をカウントするドメイン型。nullであってはなりません。- 戻り値:
- カウント。
nullではないことが保証されています。
count
指定されたqueryに一致する、指定されたプローブ型を表すテーブル内の行をカウントします。- パラメーター:
domainType- 要素をカウントするプローブ型。nullであってはなりません。query- 要素が一致する必要があるクエリ。- 戻り値:
- カウント。
nullではないことが保証されています。 - 導入:
- 3.0
exists
指定されたQueryに一致する型domainTypeの集約があるかどうかを判別します。- パラメーター:
query- null であってはなりません。domainType- エンティティの型。nullであってはなりません。- 戻り値:
- オブジェクトが存在する場合は true。
- 導入:
- 3.0
existsById
指定された型の指定された ID を持つ行が存在する場合に返します。- 型パラメーター:
T- エンティティの型。- パラメーター:
id- チェックするエンティティの ID。nullであってはなりません。domainType- チェックするエンティティの型。nullであってはなりません。- 戻り値:
- 一致する行が存在する場合は
true、そうでない場合はfalse
findById
型と ID で識別される単一のエンティティをロードします。- 型パラメーター:
T- エンティティの型。- パラメーター:
id- ロードするエンティティの ID。nullであってはなりません。domainType- エンティティのドメイン型。nullであってはなりません。- 戻り値:
nullを返す場合があります。
findAll
指定された型のすべてのエンティティをロードします。- 型パラメーター:
T- ロードするエンティティの型。- パラメーター:
domainType- ロードするエンティティの型。nullであってはなりません。- 戻り値:
nullではないことが保証されています。
streamAll
指定された型のすべてのエンティティをStreamSE にロードします。- 型パラメーター:
T- ロードするエンティティの型。- パラメーター:
domainType- ロードするエンティティの型。nullであってはなりません。- 戻り値:
nullではないことが保証されています。
findAllById
引数として渡された ID のいずれかに一致するすべてのエンティティをロードします。渡される ID の数が返されるエンティティの数と一致することは保証されません。- 型パラメーター:
T- ロードするエンティティの型。- パラメーター:
ids- ロードするエンティティの ID。nullであってはなりません。domainType- ロードするエンティティの型。nullであってはなりません。- 戻り値:
- ロードされたエンティティ。
nullではないことが保証されています。
streamAllByIds
StreamSE に引数として渡された ID の 1 つに一致するすべてのエンティティを読み込みます。渡された ID の数が返されるエンティティの数と一致することは保証されません。- 型パラメーター:
T- ロードするエンティティの型。- パラメーター:
ids- ロードするエンティティの ID。nullであってはなりません。domainType- ロードするエンティティの型。nullであってはなりません。- 戻り値:
- ロードされたエンティティ。
nullではないことが保証されています。
findAllByPath
IterableSE<ObjectSE> findAllByPath(Identifier identifier, PersistentPropertyPath<? extends RelationalPersistentProperty> path) インターフェースからコピーされた説明:RelationResolverパスを介して到達可能なすべてのエンティティを検索します。- 次で指定:
- インターフェース
RelationResolverのfindAllByPath - パラメーター:
identifier- ロードされるエンティティの親を識別する ID、マップキー、リストインデックスの組み合わせ。null であってはなりません。path- 集約ルートから解決されるエンティティへのパス。null であってはなりません。- 戻り値:
- null でないことが保証されています。
findAll
指定された型のすべてのエンティティをソートしてロードします。- 型パラメーター:
T- ロードするエンティティの型。- パラメーター:
domainType- ロードするエンティティの型。nullであってはなりません。sort- ソート情報。nullであってはなりません。- 戻り値:
nullではないことが保証されています。- 導入:
- 2.0
streamAll
指定された型のすべてのエンティティをソートしてStreamSE にロードします。- 型パラメーター:
T- ロードするエンティティの型。- パラメーター:
domainType- ロードするエンティティの型。nullであってはなりません。sort- ソート情報。nullであってはなりません。- 戻り値:
nullではないことが保証されています。- 導入:
- 2.0
findAll
指定された型のすべてのエンティティを読み込み、ページングしてソートします。- 型パラメーター:
T- ロードするエンティティの型。- パラメーター:
domainType- ロードするエンティティの型。nullであってはなりません。pageable- ページネーション情報。nullであってはなりません。- 戻り値:
nullではないことが保証されています。- 導入:
- 2.0
findOne
SELECTクエリを実行し、結果のアイテムをエンティティに変換して、結果が 1 つだけになるようにします。- パラメーター:
query- null であってはなりません。domainType- エンティティの型。nullであってはなりません。- 戻り値:
- 正確に 1 つの結果、または一致が見つからない場合は
Optional.empty()。 - 例外:
IncorrectResultSizeDataAccessException- 複数の一致が見つかった場合。- 導入:
- 3.0
findAll
SELECTクエリを実行し、結果のアイテムをIterableSE に変換します。- パラメーター:
query- null であってはなりません。domainType- エンティティの型。nullであってはなりません。- 戻り値:
- 一致するすべての結果を含む null 以外のリスト。
- 例外:
IncorrectResultSizeDataAccessException- 複数の一致が見つかった場合。- 導入:
- 3.0
streamAll
SELECTクエリを実行し、結果のアイテムをStreamSE に変換します。- パラメーター:
query- null であってはなりません。domainType- エンティティの型。nullであってはなりません。- 戻り値:
- 一致するすべての結果を含む null 以外のリスト。
- 例外:
IncorrectResultSizeDataAccessException- 複数の一致が見つかった場合。- 導入:
- 3.0
findAll
- パラメーター:
query- null であってはなりません。domainType- エンティティの型。null であってはなりません。pageable- 適用するページネーション。null であってはなりません。- 戻り値:
- 一致するすべての結果を含む null 以外のリスト。
- 例外:
IncorrectResultSizeDataAccessException- 複数の一致が見つかった場合。- 導入:
- 3.0