Package jakarta.data.metamodel
package jakarta.data.metamodel
A static metamodel for entities that are used in Jakarta Data repositories.
The StaticMetamodel allows for type-safe operations that avoid the
need to hard-code entity attribute names as Strings. For example,
@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);
The module Javadoc provides an overview of Jakarta Data.
-
ClassDescriptionAttribute<T>Represents an entity attribute in the
StaticMetamodel.Represents a sortable entity attribute in theStaticMetamodel.Annotates a class which serves as a static metamodel for an entity, enabling type-safe access to entity attribute names and related objects such as instances ofSorts for an attribute.Represents an textual entity attribute in theStaticMetamodel.