Spec-Zone.ru › OpenJDK 21

Интерфейс аннотаций "Relational"

@Retention(RUNTIME) @Target(ANNOTATION_TYPE) public @interface Relational
Мета-аннотация для реляционных аннотаций, используемая на аннотации.

Следующий пример демонстрирует, как можно создать и использовать реляционную аннотацию. Аннотация Orderid указывает на наличие связи между OrderEvent и OrderLineEvent. Если у них одинаковый идентификатор, то строка заказа принадлежит заказу.

@MetadataDefinition
@Relational
@Name("com.example.OrderId")
@Label("Order ID")
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface OrderId {
}

@Name("com.example.Order")
@Label("Order")
@Category("Orders")
class OrderEvent extends Event {
    @Label("Order ID")
    @OrderId
    long orderId;

    @Label("Order Date")
    @Timestamp
    long orderDate;
}

@Name("com.example.OrderLine")
@Label("Order Line")
@Category("Orders")
class OrderLineEvent extends Event {
    @Label("Order ID")
    @OrderId
    long orderId;

    @Label("Quantity")
    long quantity;

    @Label("Product")
    String product;
}
Since:
9

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.jfr/jdk/jfr/Relational.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API