org.hibernate.boot.model.naming.package-info Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-core Show documentation
Show all versions of hibernate-core Show documentation
The core O/RM functionality as provided by Hibernate
The newest version!
/*
* 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 .
*/
/**
* 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.
*
* Naming is split here into 2 main pieces:
* -
* logical - 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}.
*
* -
* physical - 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}.
*
*
*/
package org.hibernate.boot.model.naming;