Berkeley DB version 4.7.25

## com.sleepycat.persist.model
Class SecondaryKeyMetadata

    java.lang.Object
      com.sleepycat.persist.model.FieldMetadata
          com.sleepycat.persist.model.SecondaryKeyMetadata

All Implemented Interfaces:
  Serializable

    public class SecondaryKeyMetadata

extends FieldMetadata

The metadata for a secondary key field. A secondary key may be specified with the `SecondaryKey` annotation.

`SecondaryKeyMetadata` objects are thread-safe. Multiple threads may safely call the methods of a shared `SecondaryKeyMetadata` object.

See Also:
  Serialized Form

Constructor Summary
`SecondaryKeyMetadata(String name, String className, String declaringClassName, String elementClassName, String keyName, Relationship relationship, String relatedEntity, DeleteAction deleteAction)` Used by an `EntityModel` to construct secondary key metadata.

Method Summary
`boolean` `equals(Object other)`
`DeleteAction` `getDeleteAction()` Returns the action to take when a related entity is deleted having a primary key value that exists as a secondary key value for this entity.
`String` `getElementClassName()` Returns the class name of the array or collection element for a `ONE_TO_MANY` or `MANY_TO_MANY` relationship, or null for a Relationship#ONE_TO_ONE ONE_TO_ONE} or `MANY_TO_ONE` relationship.
`String` `getKeyName()` Returns the key name, which may be different from the field name.
`String` `getRelatedEntity()` Returns the class name of the related (foreign) entity, for which foreign key constraints are specified using the `SecondaryKey.relatedEntity()` annotation.
`Relationship` `getRelationship()` Returns the relationship between instances of the entity class and the secondary keys.
`int` `hashCode()`

Methods inherited from class com.sleepycat.persist.model.FieldMetadata
`getClassName, getDeclaringClassName, getName`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SecondaryKeyMetadata

    public SecondaryKeyMetadata(String name,
                                String className,
                                String declaringClassName,
                                String elementClassName,
                                String keyName,
                                Relationship relationship,
                                String relatedEntity,
                                DeleteAction deleteAction)

  Used by an `EntityModel` to construct secondary key metadata.

Method Detail

### getElementClassName

    public String getElementClassName()

  Returns the class name of the array or collection element for a `ONE_TO_MANY` or `MANY_TO_MANY` relationship, or null for a Relationship#ONE_TO_ONE ONE_TO_ONE} or `MANY_TO_ONE` relationship.

### getKeyName

    public String getKeyName()

  Returns the key name, which may be different from the field name.

### getRelationship

    public Relationship getRelationship()

  Returns the relationship between instances of the entity class and the secondary keys. This may be specified using the `SecondaryKey.relate()` annotation.

### getRelatedEntity

    public String getRelatedEntity()

  Returns the class name of the related (foreign) entity, for which foreign key constraints are specified using the `SecondaryKey.relatedEntity()` annotation.

### getDeleteAction

    public DeleteAction getDeleteAction()

  Returns the action to take when a related entity is deleted having a primary key value that exists as a secondary key value for this entity. This may be specified using the `SecondaryKey.onRelatedEntityDelete()` annotation.

### equals

    public boolean equals(Object other)

  Overrides:
    `equals` in class `FieldMetadata`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `FieldMetadata`

Berkeley DB version 4.7.25

Copyright (c) 1996,2008 Oracle. All rights reserved.