Module jdk.jfr
Package jdk.jfr

Annotation Interface Relational


@Retention(RUNTIME) @Target(ANNOTATION_TYPE) public @interface Relational
用于关系注解的元注解,可用于注解上。

以下示例展示了如何创建和使用关系注解。 Orderid 注解指示 OrderEventOrderLineEvent 之间存在关系。如果它们具有相同的ID,则订单行属于订单。

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

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

    @Label("订单日期")
    @Timestamp
    long orderDate;
}

@Name("com.example.OrderLine")
@Label("订单行")
@Category("订单")
class OrderLineEvent extends Event {
    @Label("订单ID")
    @OrderId
    long orderId;

    @Label("数量")
    long quantity;

    @Label("产品")
    String product;
}
自:
9