/* * 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>. */ /** * Represents a proposed new approach to allowing hooks into the process of determining * the name of database objects (tables, columns, constraints, etc). Historically this is * the role of the {@link org.hibernate.cfg.NamingStrategy} contract. However, NamingStrategy * suffers from many design flaws that are just not addressable in any sort of backwards * compatible manner. So this proposed approach is essentially a clean-room impl based * on lessons learned through NamingStrategy. * <p/> * Naming is split here into 2 main pieces:<ol> * <li> * <b>logical</b> - Is the process of applying naming rules to determine the names * of objects which were not explicitly given names in mapping. See * {@link org.hibernate.boot.model.naming.ImplicitNamingStrategy}. * </li> * <li> * <b>physical</b> - Is the process of applying naming rules to transform the logical * name into the actual (physical) name that will be used in the database. Rules here * might be things like using standardized abbreviations ("NUMBER" -> "NUM"), applying * identifier length shortening, etc. See {@link org.hibernate.boot.model.naming.PhysicalNamingStrategy}. * </li> * </ol> */ package org.hibernate.boot.model.naming;