@Target(value={}) @Retention(value=RUNTIME) public @interface ForeignKey
The ConstraintMode
value is used to specify whether foreign
key constraints should be generated.
The syntax used in the foreignKeyDefinition
element
should follow the SQL syntax used by the target database for foreign
key constraints. For example, this may be similar the following:
FOREIGN KEY ({, }... ) REFERENCES [ (
{, }... ) ] [ ON UPDATE ] [ ON DELETE ] When the ConstraintMode
value isCONSTRAINT
, but theforeignKeyDefinition
element is not specified, the provider will generate foreign key constraints whose update and delete actions it determines most appropriate for the join column(s) to which the foreign key annotation is applied.
- Since:
- Java Persistence 2.1
- See Also:
JoinColumn
,JoinColumns
,MapKeyJoinColumn
,MapKeyJoinColumns
,PrimaryKeyJoinColumn
,JoinTable
,CollectionTable
,SecondaryTable
,AssociationOverride
Optional Element Summary
Optional Elements Modifier and Type Optional Element and Description String
foreignKeyDefinition
(Optional) The foreign key constraint definition.String
name
(Optional) The name of the foreign key constraint.ConstraintMode
value
(Optional) Used to specify whether a foreign key constraint should be generated when schema generation is in effect.
Element Detail
name
public abstract String name(Optional) The name of the foreign key constraint. If this is not specified, it defaults to a provider-generated name.
- Default:
- ""
value
public abstract ConstraintMode value(Optional) Used to specify whether a foreign key constraint should be generated when schema generation is in effect.A value of
CONSTRAINT
will cause the persistence provider to generate a foreign key constraint. If theforeignKeyDefinition
element is not specified, the provider will generate a constraint whose update and delete actions it determines most appropriate for the join column(s) to which the foreign key annotation is applied.A value of
NO_CONSTRAINT
will result in no constraint being generated.A value of
PROVIDER_DEFAULT
will result in the provider's default behavior (which may or may not result in the generation of a constraint for the given join column(s).
- Default:
- javax.persistence.ConstraintMode.CONSTRAINT
foreignKeyDefinition
public abstract String foreignKeyDefinition(Optional) The foreign key constraint definition.
- Default:
- ""
Copyright © 1996-2015, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.