javax.persistence.MapKey Maven / Gradle / Ivy
package javax.persistence;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Target;
import java.lang.annotation.Retention;
/**
* Is used to specify the map key for associations of type Map.
* If a persistent field or property other than the primary key is used as a map key then it
* is expected to have a uniqueness constraint associated with it.
*
* @author Emmanuel Bernard
*/
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface MapKey {
/**
* The name of the persistent field or property of the associated entity that is used as the map key.
* If the name element is not specified, the primary key of the associated entity is used as the map key.
* If the primary key is a composite primary key and is mapped as IdClass, an instance of the primary key
* class is used as the key.
*/
String name() default "";
}