インターフェース BasicRepository<T,K>
- 型パラメーター:
T
- リポジトリのプライマリエンティティクラスの型。K
- プライマリエンティティの一意の識別子属性の型。
- すべてのスーパーインターフェース:
DataRepository<T,
K>
- すべての既知のサブインターフェース:
CrudRepository<T,
K>
エンティティに対して基本的な操作を実行するための組み込みリポジトリスーパー型。
BasicRepository<T,K>
の型パラメーターは、リポジトリのプライマリエンティティ型 (T
) と、プライマリエンティティ型の一意の識別子属性 (K
) の型を取得します。
プライマリエンティティ型は、エンティティ型を明示的に指定しない countBy...
や deleteBy...
などのリポジトリメソッドに使用されます。
エンティティの例:
@Entity public class Employee { @Id public int badgeNumber; public String firstName; public String lastName; ... }
リポジトリの例:
@Repository public interface Employees extends BasicRepository<Employee, Integer> { boolean deleteByBadgeNumber(int badgeNum); ... }
使用例:
@Inject Employees employees; ... Employee emp = ... emp = employees.save(emp); boolean deleted = employees.deleteByBadgeNumber(emp.badgeNum); PageRequest pageRequest = PageRequest.ofSize(25); Order<Employee> sorts = Order.by(Sort.asc("name")); Page<Employee> page = people.findAll(pageRequest, sorts);
モジュール Javadoc は Jakarta Data の overview
を提供します。
メソッドのサマリー
修飾子と型メソッド説明void
指定されたエンティティを削除します。void
指定されたエンティティを削除します。void
deleteById
(K id) 指定された ID を持つエンティティを削除します。findAll()
指定された型のすべての永続エンティティをデータベースから取得します。findAll
(PageRequest pageRequest, Order<T> sortBy) PageRequest
パラメーターとして指定されたページリクエストに従って、エンティティのPage
を返します。ID でエンティティを取得します。<S extends T>
Ssave
(S entity) 指定されたエンティティをデータベースに保存します。指定されたすべてのエンティティをデータベースに保存します。
メソッドの詳細
save
指定されたエンティティをデータベースに保存します。エンティティにデータベース内に存在する ID またはキーがある場合、メソッドは既存のレコードを更新します。それ以外の場合は、新しいレコードを挿入します。エンティティの ID が null でない場合、メソッドはデータベース内の既存のレコードを更新しようとします。エンティティがデータベースに存在しないか、ID が null の場合、このメソッドはデータベースに新しいレコードを挿入します。
このメソッドの結果値として返されるエンティティインスタンスは、すべての自動生成値と、保存によって変更された増分値で更新する必要があります。このメソッドを呼び出した後は、パラメーターとして指定されたエンティティ値を引き続き使用しないでください。このメソッドは、パラメーターとして指定されたエンティティ値の状態については保証しません。
エンティティがオプティミスティックロックを使用しており、バージョンがデータベース内のバージョンと異なる場合、
OptimisticLockingFailureException
がスローされます。- 型パラメーター:
S
- 保存するエンティティの型。- パラメーター:
entity
- 保存するエンティティ。null
であってはなりません。- 戻り値:
- 保存されたエンティティ。
null
ではありません。 - 例外:
OptimisticLockingFailureException
- エンティティがオプティミスティックロックを使用しており、データベース内のバージョンがエンティティ内のバージョンと異なる場合。NullPointerExceptionSE
- 提供されたエンティティがnull
の場合。
saveAll
指定されたすべてのエンティティをデータベースに保存します。エンティティにデータベース内に存在する null 以外の ID がある場合、メソッドは既存のレコードを更新します。それ以外の場合は、新しいレコードを挿入します。エンティティの ID が null 以外の場合、このメソッドはデータベース内の既存のレコードを更新しようとします。エンティティがデータベースに存在しないか、ID が null の場合、このメソッドはデータベースに新しいレコードを挿入します。
このメソッドの結果として返されるエンティティインスタンスは、すべての自動的に生成された値と、保存によって変更された増分値で更新する必要があります。このメソッドを呼び出した後は、パラメーターで指定されたエンティティ値を引き続き使用しないでください。このメソッドは、パラメーターで指定されたエンティティ値の状態については保証しません。
- 型パラメーター:
S
- 保存するエンティティの型。- パラメーター:
entities
- エンティティの反復可能。- 戻り値:
- 保存されたエンティティは
null
にはなりません。 - 例外:
OptimisticLockingFailureException
- エンティティにデータベース内のバージョンとは異なるオプティミスティックロックのバージョンがある場合。NullPointerExceptionSE
- 反復可能オブジェクトが null であるか、いずれかの要素が null の場合。
findById
ID でエンティティを取得します。- パラメーター:
id
-null
であってはなりません。- 戻り値:
- 指定された ID を持つエンティティ、または見つからない場合は
Optional.empty()
を持つエンティティ。 - 例外:
NullPointerExceptionSE
- ID がnull
の場合。
findAll
指定された型のすべての永続エンティティをデータベースから取得します。- 戻り値:
- すべてのエンティティのストリーム。
null
にはなりません。 - 例外:
UnsupportedOperationExceptionSE
-findAll
操作ができない Key-Value および Wide-Column データベースの場合。
findAll
PageRequest
パラメーターとして指定されたページリクエストに従って、エンティティのPage
を返します。- パラメーター:
pageRequest
- ページ分割された結果のリクエスト。null
であってはなりません。sortBy
- 結果を決定論的に順序付けるソート条件。null
であってはなりません。- 戻り値:
- エンティティのページ。
null
にはなりません。 - 例外:
NullPointerExceptionSE
-pageRequest
またはsortBy
がnull
の場合。UnsupportedOperationExceptionSE
-PageRequest.Mode.CURSOR_NEXT
またはPageRequest.Mode.CURSOR_PREVIOUS
ページネーションモードが選択されている場合の Key-Value および Wide-Column データベースの場合。- 関連事項:
deleteById
指定された ID を持つエンティティを削除します。永続ストアでエンティティが見つからない場合、エンティティは確認なしで無視されます。
- パラメーター:
id
-null
であってはなりません。- 例外:
NullPointerExceptionSE
- ID がnull
の場合。
delete
指定されたエンティティを削除します。削除は ID を照合することによって実行されます。エンティティがバージョン管理されている場合 (たとえば、jakarta.persistence.Version
)、バージョンも照合します。エンティティの他のプロパティは一致する必要はありません。- パラメーター:
entity
-null
であってはなりません。- 例外:
OptimisticLockingFailureException
- 削除対象のエンティティがデータベース内に見つからないか、データベース内のバージョンと一致しないオプティミスティックロックのバージョンがある場合。NullPointerExceptionSE
- エンティティが null の場合
deleteAll
指定されたエンティティを削除します。各エンティティの削除は、一意の識別子を照合することによって実行され、エンティティがバージョン管理されている場合は (たとえば、jakarta.persistence.Version
を使用)、バージョンも照合されます。エンティティの他のプロパティは一致する必要はありません。- パラメーター:
entities
-null
であってはなりません。null
要素を含んではなりません。- 例外:
OptimisticLockingFailureException
- 削除対象のエンティティがデータベース内に見つからないか、オプティミスティックロックのバージョンがデータベース内のバージョンと一致しない場合。NullPointerExceptionSE
- 反復可能オブジェクトがnull
であるか、null
要素を含んでいる場合。