パッケージ jakarta.data.repository

インターフェース BasicRepository<T,K>

型パラメーター:
T - リポジトリのプライマリエンティティクラスの型。
K - プライマリエンティティの一意の識別子属性の型。
すべてのスーパーインターフェース:
DataRepository<T,K>
すべての既知のサブインターフェース:
CrudRepository<T,K>

public interface BasicRepository<T,K> extends DataRepository<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
    delete(T entity)
    指定されたエンティティを削除します。
    void
    deleteAll(ListSE<? extends T> entities)
    指定されたエンティティを削除します。
    void
    指定された ID を持つエンティティを削除します。
    指定された型のすべての永続エンティティをデータベースから取得します。
    findAll(PageRequest pageRequest, Order<T> sortBy)
    PageRequest パラメーターとして指定されたページリクエストに従って、エンティティの Page を返します。
    ID でエンティティを取得します。
    <S extends T>
    S
    save(S entity)
    指定されたエンティティをデータベースに保存します。
    <S extends T>
    ListSE<S>
    saveAll(ListSE<S> entities)
    指定されたすべてのエンティティをデータベースに保存します。
  • メソッドの詳細

    • save

      @Save <S extends T> S save(S entity)
      指定されたエンティティをデータベースに保存します。エンティティにデータベース内に存在する ID またはキーがある場合、メソッドは既存のレコードを更新します。それ以外の場合は、新しいレコードを挿入します。

      エンティティの ID が null でない場合、メソッドはデータベース内の既存のレコードを更新しようとします。エンティティがデータベースに存在しないか、ID が null の場合、このメソッドはデータベースに新しいレコードを挿入します。

      このメソッドの結果値として返されるエンティティインスタンスは、すべての自動生成値と、保存によって変更された増分値で更新する必要があります。このメソッドを呼び出した後は、パラメーターとして指定されたエンティティ値を引き続き使用しないでください。このメソッドは、パラメーターとして指定されたエンティティ値の状態については保証しません。

      エンティティがオプティミスティックロックを使用しており、バージョンがデータベース内のバージョンと異なる場合、OptimisticLockingFailureException がスローされます。

      型パラメーター:
      S - 保存するエンティティの型。
      パラメーター:
      entity - 保存するエンティティ。null であってはなりません。
      戻り値:
      保存されたエンティティ。null ではありません。
      例外:
      OptimisticLockingFailureException - エンティティがオプティミスティックロックを使用しており、データベース内のバージョンがエンティティ内のバージョンと異なる場合。
      NullPointerExceptionSE - 提供されたエンティティが null の場合。
    • saveAll

      @Save <S extends T> ListSE<S> saveAll(ListSE<S> entities)
      指定されたすべてのエンティティをデータベースに保存します。エンティティにデータベース内に存在する null 以外の ID がある場合、メソッドは既存のレコードを更新します。それ以外の場合は、新しいレコードを挿入します。

      エンティティの ID が null 以外の場合、このメソッドはデータベース内の既存のレコードを更新しようとします。エンティティがデータベースに存在しないか、ID が null の場合、このメソッドはデータベースに新しいレコードを挿入します。

      このメソッドの結果として返されるエンティティインスタンスは、すべての自動的に生成された値と、保存によって変更された増分値で更新する必要があります。このメソッドを呼び出した後は、パラメーターで指定されたエンティティ値を引き続き使用しないでください。このメソッドは、パラメーターで指定されたエンティティ値の状態については保証しません。

      型パラメーター:
      S - 保存するエンティティの型。
      パラメーター:
      entities - エンティティの反復可能。
      戻り値:
      保存されたエンティティは null にはなりません。
      例外:
      OptimisticLockingFailureException - エンティティにデータベース内のバージョンとは異なるオプティミスティックロックのバージョンがある場合。
      NullPointerExceptionSE - 反復可能オブジェクトが null であるか、いずれかの要素が null の場合。
    • findById

      @Find OptionalSE<T> findById(K id)
      ID でエンティティを取得します。
      パラメーター:
      id - null であってはなりません。
      戻り値:
      指定された ID を持つエンティティ、または見つからない場合は Optional.empty() を持つエンティティ。
      例外:
      NullPointerExceptionSE - ID が null の場合。
    • findAll

      @Find StreamSE<T> findAll()
      指定された型のすべての永続エンティティをデータベースから取得します。
      戻り値:
      すべてのエンティティのストリーム。null にはなりません。
      例外:
      UnsupportedOperationExceptionSE - findAll 操作ができない Key-Value および Wide-Column データベースの場合。
    • findAll

      @Find Page<T> findAll(PageRequest pageRequest, Order<T> sortBy)
      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

      @Delete void deleteById(K id)
      指定された ID を持つエンティティを削除します。

      永続ストアでエンティティが見つからない場合、エンティティは確認なしで無視されます。

      パラメーター:
      id - null であってはなりません。
      例外:
      NullPointerExceptionSE - ID が null の場合。
    • delete

      @Delete void delete(T entity)
      指定されたエンティティを削除します。削除は ID を照合することによって実行されます。エンティティがバージョン管理されている場合 (たとえば、jakarta.persistence.Version)、バージョンも照合します。エンティティの他のプロパティは一致する必要はありません。
      パラメーター:
      entity - null であってはなりません。
      例外:
      OptimisticLockingFailureException - 削除対象のエンティティがデータベース内に見つからないか、データベース内のバージョンと一致しないオプティミスティックロックのバージョンがある場合。
      NullPointerExceptionSE - エンティティが null の場合
    • deleteAll

      @Delete void deleteAll(ListSE<? extends T> entities)
      指定されたエンティティを削除します。各エンティティの削除は、一意の識別子を照合することによって実行され、エンティティがバージョン管理されている場合は (たとえば、jakarta.persistence.Version を使用)、バージョンも照合されます。エンティティの他のプロパティは一致する必要はありません。
      パラメーター:
      entities - null であってはなりません。null 要素を含んではなりません。
      例外:
      OptimisticLockingFailureException - 削除対象のエンティティがデータベース内に見つからないか、オプティミスティックロックのバージョンがデータベース内のバージョンと一致しない場合。
      NullPointerExceptionSE - 反復可能オブジェクトが null であるか、null 要素を含んでいる場合。