/* * 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.orm.persister.entity.spi; /** * @author Steve Ebersole */ public enum InheritanceStrategy { /** * No inheritance. Similar to {@link #DISCRIMINATOR} in that there is just a * single table, but with no discriminator column/formula. */ NONE, /** * Uses a dedicated column to store a value indicating the row's concrete type. * Inherently a single-table strategy. */ DISCRIMINATOR, /** * Strategy using a complete table per each concrete subclass - the superclass columns * are defined on each subclass table. Querying is done via a SQL UNION over all the * hierarchy tables. */ UNION, /** * Strategy using a table per class, joined together. Highly normalized. */ JOINED }