Subversion Repositories WebE

Rev

View as "text/plain" | Blame | Last modification | View Log | RSS feed

1
//$Id: DiscriminatorValue.java 11282 2007-03-14 22:05:59Z epbernard $
package javax.persistence;

import java.lang.annotation.Target;
import java.lang.annotation.Retention;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import static java.lang.annotation.ElementType.TYPE;

/**
 * Is used to specify the value of the discriminator column for entities of the given type.
 * The DiscriminatorValue annotation can only be specified on a concrete entity class.
 * If the DiscriminatorValue annotation is not specified and a discriminator column is used,
 * a provider-specific function will be used to generate a value representing the entity type.
 * If the DiscriminatorType is STRING, the discriminator value default is the entity name.
 *
 * The inheritance strategy and the discriminator column are only specified in the root
 * of an entity class hierarchy or subhierarchy in which a different inheritance strategy
 * is applied. The discriminator value, if not defaulted, should be specified for each entity
 * class in the hierarchy.
 *
 * @author Emmanuel Bernard
 */

@Target({TYPE}) @Retention(RUNTIME)
public @interface DiscriminatorValue {
        /**
         * The value that indicates that the row is an entity of the annotated entity type.
         *
         * If the DiscriminatorValue annotation is not specified and a discriminator column is used,
         * a provider-specific function will be used to generate a value representing the entity type.
         * If the DiscriminatorType is STRING, the discriminator value default is the entity name.
         */

        String value();
}