001package com.avaje.ebean.annotation;
002
003import java.lang.annotation.ElementType;
004import java.lang.annotation.Retention;
005import java.lang.annotation.RetentionPolicy;
006import java.lang.annotation.Target;
007
008/**
009 * Specify the property is included in the parent document store index.
010 *
011 * <pre>{@code
012 *
013 *
014 * @DocStore
015 * @Entity @Table(name = "o_order")
016 * public class Order {
017 *
018 *   ...
019 *   // include some customer details including
020 *   // nested billingAddress
021 *   @DocEmbedded(doc = "id,status,name,billingAddress(*,country(*)")
022 *   @ManyToOne
023 *   Customer customer;
024 *
025 *
026 * }</pre>
027 */
028@Target({ ElementType.FIELD })
029@Retention(RetentionPolicy.RUNTIME)
030public @interface DocEmbedded {
031
032  /**
033   * The properties on the embedded bean to include in the index.
034   */
035  String doc() default "";
036
037}