パッケージ jakarta.data.metamodel


パッケージ jakarta.data.metamodel

Jakarta Data リポジトリで使用されるエンティティの静的メタモデル。

StaticMetamodel を使用すると、エンティティ属性名を文字列としてハードコードする必要性を回避できる、型 セーフな操作が可能になります。元:

 @Entity
 public class Product {
     @Id
     public long id;

     public String name;

     public float price;
 }

 @StaticMetamodel(Product.class)
 public interface _Product {
     String ID = "id";
     String NAME = "name";
     String PRICE = "price";

     SortableAttribute<Product> id = new SortableAttributeRecord<>(ID);
     TextAttribute<Product> name = new TextAttributeRecord<>(NAME);
     SortableAttribute<Product> price = new SortableAttributeRecord<>(PRICE);
 }

 ...

 @Repository
 Products products;

 ...

 Order<Product> order =
         Order.by(_Product.price.desc(),
                  _Product.name.asc(),
                  _Product.id.asc());

 page1 = products.findByNameLike(namePattern, pageRequest);
 

モジュール Javadoc は Jakarta Data の overview を提供します。

  • クラス
    説明
    StaticMetamodel のエンティティ属性を表します。
    StaticMetamodel 内のソート可能なエンティティ属性を表します。
    エンティティの静的メタモデルとして機能するクラスにアノテーションを付け、エンティティ属性名や、属性の Sort のインスタンスなどの関連オブジェクトへの型安全なアクセスを可能にします。
    StaticMetamodel 内のテキストエンティティ属性を表します。