/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
 */
package org.hibernate.boot.model.naming;

import org.hibernate.boot.model.source.spi.AttributePath;

Context for determining the implicit name of a "join column" (think JoinColumn).
Author:Steve Ebersole
See Also:
/** * Context for determining the implicit name of a "join column" (think * {@link javax.persistence.JoinColumn}). * * @author Steve Ebersole * * @see javax.persistence.JoinColumn */
public interface ImplicitJoinColumnNameSource extends ImplicitNameSource { public static enum Nature { ELEMENT_COLLECTION, ENTITY_COLLECTION, ENTITY } public Nature getNature();
Access to entity naming information. For "normal" join columns, this will be the entity where the association is defined. For "inverse" join columns, this will be the target entity.
Returns:Owning entity naming information
/** * Access to entity naming information. For "normal" join columns, this will * be the entity where the association is defined. For "inverse" join columns, * this will be the target entity. * * @return Owning entity naming information */
public EntityNaming getEntityNaming();
Access to the name of the attribute that defines the association. For "normal" join columns, this will be the attribute where the association is defined. For "inverse" join columns, this will be the "mapped-by" attribute.
Returns:The owning side's attribute name.
/** * Access to the name of the attribute that defines the association. For * "normal" join columns, this will be the attribute where the association is * defined. For "inverse" join columns, this will be the "mapped-by" attribute. * * @return The owning side's attribute name. */
public AttributePath getAttributePath();
Access the name of the table that is the target of the FK being described
Returns:The referenced table name
/** * Access the name of the table that is the target of the FK being described * * @return The referenced table name */
public Identifier getReferencedTableName();
Access the name of the column that is the target of the FK being described
Returns:The referenced column name
/** * Access the name of the column that is the target of the FK being described * * @return The referenced column name */
public Identifier getReferencedColumnName(); }