模块 jdk.jfr
 jdk.jfr

注解关系


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

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

@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;
}
 
自从:
9