org.hibernate.id.IdentifierGenerator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate Show documentation
Show all versions of hibernate Show documentation
Relational Persistence for Java
//$Id: IdentifierGenerator.java 5685 2005-02-12 07:19:50Z steveebersole $
package org.hibernate.id;
import org.hibernate.HibernateException;
import org.hibernate.engine.SessionImplementor;
import java.io.Serializable;
/**
* The general contract between a class that generates unique
* identifiers and the Session. It is not intended that
* this interface ever be exposed to the application. It is
* intended that users implement this interface to provide
* custom identifier generation strategies.
*
* Implementors should provide a public default constructor.
*
* Implementations that accept configuration parameters should
* also implement Configurable.
*
* Implementors must be threadsafe
*
* @author Gavin King
* @see PersistentIdentifierGenerator
* @see Configurable
*/
public interface IdentifierGenerator {
/**
* The configuration parameter holding the entity name
*/
public static final String ENTITY_NAME = "entity_name";
/**
* Generate a new identifier.
* @param session
* @param object the entity or toplevel collection for which the id is being generated
*
* @return a new identifier
* @throws HibernateException
*/
public Serializable generate(SessionImplementor session, Object object)
throws HibernateException;
}