/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2002, 2015 Oracle and/or its affiliates. All rights reserved. * */ package com.sleepycat.persist.model; /** * Defines the relationship between instances of the entity class and the * secondary keys. This can be specified using a {@link SecondaryKey#relate} * annotation. * * @author Mark Hayes */ public enum Relationship { /** * Relates many entities to one secondary key. * * <p>The secondary index will have non-unique keys; in other words, * duplicates will be allowed.</p> * * <p>The secondary key field is singular, in other words, it may not be an * array or collection type.</p> */ MANY_TO_ONE, /** * Relates one entity to many secondary keys. * * <p>The secondary index will have unique keys, in other words, duplicates * will not be allowed.</p> * * <p>The secondary key field must be an array or collection type.</p> */ ONE_TO_MANY, /** * Relates many entities to many secondary keys. * * <p>The secondary index will have non-unique keys, in other words, * duplicates will be allowed.</p> * * <p>The secondary key field must be an array or collection type.</p> */ MANY_TO_MANY, /** * Relates one entity to one secondary key. * * <p>The secondary index will have unique keys, in other words, duplicates * will not be allowed.</p> * * <p>The secondary key field is singular, in other words, it may not be an * array or collection type.</p> */ ONE_TO_ONE; }