パッケージ 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 を提供します。
- クラス説明Attribute<T>
StaticMetamodelのエンティティ属性を表します。StaticMetamodel内のソート可能なエンティティ属性を表します。エンティティの静的メタモデルとして機能するクラスにアノテーションを付け、エンティティ属性名や、属性のSortのインスタンスなどの関連オブジェクトへの型安全なアクセスを可能にします。StaticMetamodel内のテキストエンティティ属性を表します。