public class Configuration extends Object
Represents one approach for bootstrapping Hibernate. In fact, historically this was
<b>the</b> way to bootstrap Hibernate.
<p/>
The approach here is to define all configuration and mapping sources in one API
and to then build the SessionFactory
in one-shot. The configuration
and mapping sources defined here are just held here until the SessionFactory is built. This
is an important distinction from the legacy behavior of this class, where we would try to
incrementally build the mappings from sources as they were added. The ramification of this
change in behavior is that users can add configuration and mapping sources here, but they can
no longer query the in-flight state of mappings (PersistentClass
,
Collection
, etc) here.
<p/>
Note: Internally this class uses the new bootstrapping approach when asked to build the
SessionFactory.
SessionFactory
Modifier and Type | Field and Description |
---|---|
static String |
ARTEFACT_PROCESSING_ORDER |
Constructor and Description |
---|
Configuration() |
Configuration(BootstrapServiceRegistry serviceRegistry) |
Configuration(MetadataSources metadataSources) |
Modifier and Type | Method and Description |
---|---|
void |
add(org.hibernate.internal.util.xml.XmlDocument metadataXml)
Deprecated.
No longer supported.
|
Configuration |
addAnnotatedClass(Class annotatedClass)
Read metadata from the annotations associated with this class.
|
void |
addAttributeConverter(AttributeConverter attributeConverter)
Adds the AttributeConverter instance to this Configuration.
|
void |
addAttributeConverter(AttributeConverter attributeConverter,
boolean autoApply)
Adds the AttributeConverter instance to this Configuration.
|
void |
addAttributeConverter(AttributeConverterDefinition definition) |
void |
addAttributeConverter(Class<? extends AttributeConverter> attributeConverterClass)
Adds the AttributeConverter Class to this Configuration.
|
void |
addAttributeConverter(Class<? extends AttributeConverter> attributeConverterClass,
boolean autoApply)
Adds the AttributeConverter Class to this Configuration.
|
void |
addAuxiliaryDatabaseObject(AuxiliaryDatabaseObject object) |
Configuration |
addCacheableFile(File xmlFile)
Add a cached mapping file.
|
Configuration |
addCacheableFile(String xmlFile)
Add a cacheable mapping file.
|
Configuration |
addCacheableFileStrictly(File xmlFile)
<b>INTENDED FOR TESTSUITE USE ONLY!</b>
<p/>
Much like
addCacheableFile(File) except that here we will fail immediately if
the cache version cannot be found or used for whatever reason |
Configuration |
addClass(Class persistentClass)
Read a mapping as an application resource using the convention that a class
named <tt>foo.bar.Foo</tt> is mapped by a file <tt>foo/bar/Foo.hbm.xml</tt>
which can be resolved as a classpath resource.
|
Configuration |
addDirectory(File dir)
Read all mapping documents from a directory tree.
|
Configuration |
addDocument(Document doc)
Deprecated.
Use addURL, addResource, addFile, etc. instead
|
Configuration |
addFile(File xmlFile)
Read mappings from a particular XML file
|
Configuration |
addFile(String xmlFile)
Read mappings from a particular XML file
|
Configuration |
addInputStream(InputStream xmlInputStream)
Read mappings from an
InputStream . |
Configuration |
addJar(File jar)
Read all mappings from a jar file
<p/>
Assumes that any file named <tt>*.hbm.xml</tt> is a mapping document.
|
Configuration |
addPackage(String packageName)
Read package-level metadata.
|
Configuration |
addProperties(Properties properties)
Add the given properties to ours.
|
Configuration |
addResource(String resourceName)
Read mappings as a application resourceName (i.e.
|
Configuration |
addResource(String resourceName,
ClassLoader classLoader)
Deprecated.
This form (accepting a ClassLoader) is no longer supported. Instead, add the ClassLoader
to the ClassLoaderService on the ServiceRegistry associated with this Configuration
|
void |
addSqlFunction(String functionName,
SQLFunction function) |
Configuration |
addURL(URL url)
Read mappings from a <tt>URL</tt>
|
Configuration |
addXML(String xml)
Deprecated.
No longer supported
|
void |
buildMappings()
Deprecated.
Does nothing
|
SessionFactory |
buildSessionFactory()
Create a
SessionFactory using the properties and mappings in this configuration. |
SessionFactory |
buildSessionFactory(ServiceRegistry serviceRegistry)
Create a
SessionFactory using the properties and mappings in this configuration. |
Configuration |
configure()
Use the mappings and properties specified in an application resource named <tt>hibernate.cfg.xml</tt>.
|
Configuration |
configure(Document document)
Deprecated.
No longer supported.
|
Configuration |
configure(File configFile)
Use the mappings and properties specified in the given application file.
|
Configuration |
configure(String resource)
Use the mappings and properties specified in the given application resource.
|
Configuration |
configure(URL url)
Use the mappings and properties specified in the given document.
|
CurrentTenantIdentifierResolver |
getCurrentTenantIdentifierResolver() |
EntityNotFoundDelegate |
getEntityNotFoundDelegate()
Retrieve the user-supplied delegate to handle non-existent entity
scenarios.
|
EntityTuplizerFactory |
getEntityTuplizerFactory() |
Interceptor |
getInterceptor()
Retrieve the configured
Interceptor . |
Collection<NamedEntityGraphDefinition> |
getNamedEntityGraphs() |
Map<String,NamedProcedureCallDefinition> |
getNamedProcedureCallMap() |
Map<String,NamedQueryDefinition> |
getNamedQueries() |
Map |
getNamedSQLQueries() |
Properties |
getProperties()
Get all properties
|
String |
getProperty(String propertyName)
Get a property value by name
|
SessionFactoryObserver |
getSessionFactoryObserver() |
Map<String,SQLFunction> |
getSqlFunctions() |
Map |
getSqlResultSetMappings() |
StandardServiceRegistryBuilder |
getStandardServiceRegistryBuilder()
Intended for internal testing use only!!!
|
Configuration |
mergeProperties(Properties properties)
Adds the incoming properties to the internal properties structure, as long as the internal structure does not
already contain an entry for the given key.
|
Configuration |
registerTypeContributor(TypeContributor typeContributor) |
Configuration |
registerTypeOverride(BasicType type)
Allows registration of a type into the type registry.
|
Configuration |
registerTypeOverride(CompositeUserType type,
String[] keys) |
Configuration |
registerTypeOverride(UserType type,
String[] keys) |
protected void |
reset() |
void |
setCurrentTenantIdentifierResolver(CurrentTenantIdentifierResolver currentTenantIdentifierResolver) |
void |
setEntityNotFoundDelegate(EntityNotFoundDelegate entityNotFoundDelegate)
Specify a user-supplied delegate to be used to handle scenarios where an entity could not be
located by specified id.
|
void |
setImplicitNamingStrategy(ImplicitNamingStrategy implicitNamingStrategy) |
Configuration |
setInterceptor(Interceptor interceptor)
Set the current
Interceptor |
void |
setPhysicalNamingStrategy(PhysicalNamingStrategy physicalNamingStrategy) |
Configuration |
setProperties(Properties properties)
Specify a completely new set of properties
|
Configuration |
setProperty(String propertyName,
String value)
Set a property value by name
|
void |
setSessionFactoryObserver(SessionFactoryObserver sessionFactoryObserver) |
void |
setSharedCacheMode(SharedCacheMode sharedCacheMode)
Sets the SharedCacheMode to use.
|
public static final String ARTEFACT_PROCESSING_ORDER
public Configuration()
public Configuration(BootstrapServiceRegistry serviceRegistry)
public Configuration(MetadataSources metadataSources)
protected void reset()
public Properties getProperties()
Get all properties
public Configuration setProperties(Properties properties)
Specify a completely new set of properties
properties
- The new set of propertiespublic String getProperty(String propertyName)
Get a property value by name
propertyName
- The name of the propertypublic Configuration setProperty(String propertyName, String value)
Set a property value by name
propertyName
- The name of the property to setvalue
- The new property valuepublic Configuration addProperties(Properties properties)
Add the given properties to ours.
properties
- The properties to add.public void setImplicitNamingStrategy(ImplicitNamingStrategy implicitNamingStrategy)
public void setPhysicalNamingStrategy(PhysicalNamingStrategy physicalNamingStrategy)
public Configuration configure() throws HibernateException
Use the mappings and properties specified in an application resource named <tt>hibernate.cfg.xml</tt>.
HibernateException
- Generally indicates we cannot find <tt>hibernate.cfg.xml</tt>configure(String)
public Configuration configure(String resource) throws HibernateException
Use the mappings and properties specified in the given application resource. The format of the resource is defined in <tt>hibernate-configuration-3.0.dtd</tt>.
resource
- The resource to useHibernateException
- Generally indicates we cannot find the named resourcepublic StandardServiceRegistryBuilder getStandardServiceRegistryBuilder()
Intended for internal testing use only!!!
public Configuration configure(URL url) throws HibernateException
Use the mappings and properties specified in the given document. The format of the document is defined in <tt>hibernate-configuration-3.0.dtd</tt>.
url
- URL from which you wish to load the configurationHibernateException
- Generally indicates a problem access the urlpublic Configuration configure(File configFile) throws HibernateException
Use the mappings and properties specified in the given application file. The format of the file is defined in <tt>hibernate-configuration-3.0.dtd</tt>.
configFile
- File from which you wish to load the configurationHibernateException
- Generally indicates a problem access the file@Deprecated public Configuration configure(Document document) throws HibernateException
HibernateException
public Configuration registerTypeContributor(TypeContributor typeContributor)
public Configuration registerTypeOverride(BasicType type)
Allows registration of a type into the type registry. The phrase 'override' in the method name simply reminds that registration potentially replaces a previously registered type .
type
- The type to register.public Configuration registerTypeOverride(UserType type, String[] keys)
public Configuration registerTypeOverride(CompositeUserType type, String[] keys)
public Configuration addFile(String xmlFile) throws MappingException
Read mappings from a particular XML file
xmlFile
- a path to a fileMappingException
- Indicates inability to locate or parse
the specified mapping file.addFile(java.io.File)
public Configuration addFile(File xmlFile) throws MappingException
Read mappings from a particular XML file
xmlFile
- a path to a fileMappingException
- Indicates inability to locate the specified mapping file.@Deprecated public void add(org.hibernate.internal.util.xml.XmlDocument metadataXml)
public Configuration addCacheableFile(File xmlFile) throws MappingException
Add a cached mapping file. A cached file is a serialized representation of the DOM structure of a particular mapping. It is saved from a previous call as a file with the name <tt>xmlFile + ".bin"</tt> where xmlFile is the name of the original mapping file. </p> If a cached <tt>xmlFile + ".bin"</tt> exists and is newer than <tt>xmlFile</tt> the <tt>".bin"</tt> file will be read directly. Otherwise xmlFile is read and then serialized to <tt>xmlFile + ".bin"</tt> for use the next time.
xmlFile
- The cacheable mapping file to be added.MappingException
- Indicates problems reading the cached file or processing
the non-cached file.public Configuration addCacheableFileStrictly(File xmlFile) throws SerializationException, FileNotFoundException
<b>INTENDED FOR TESTSUITE USE ONLY!</b>
<p/>
Much like addCacheableFile(File)
except that here we will fail immediately if
the cache version cannot be found or used for whatever reason
xmlFile
- The xml file, not the bin!SerializationException
- Indicates a problem deserializing the cached dom treeFileNotFoundException
- Indicates that the cached file was not found or was not usable.public Configuration addCacheableFile(String xmlFile) throws MappingException
Add a cacheable mapping file.
xmlFile
- The name of the file to be added. This must be in a form
useable to simply construct a File
instance.MappingException
- Indicates problems reading the cached file or processing
the non-cached file.addCacheableFile(java.io.File)
@Deprecated public Configuration addXML(String xml) throws MappingException
MappingException
public Configuration addURL(URL url) throws MappingException
Read mappings from a <tt>URL</tt>
url
- The url for the mapping document to be read.MappingException
- Indicates problems reading the URL or processing
the mapping document.@Deprecated public Configuration addDocument(Document doc) throws MappingException
Read mappings from a DOM <tt>Document</tt>
doc
- The DOM documentMappingException
- Indicates problems reading the DOM or processing
the mapping document.public Configuration addInputStream(InputStream xmlInputStream) throws MappingException
Read mappings from an InputStream
.
xmlInputStream
- The input stream containing a DOM.MappingException
- Indicates problems reading the stream, or
processing the contained mapping document.@Deprecated public Configuration addResource(String resourceName, ClassLoader classLoader) throws MappingException
MappingException
public Configuration addResource(String resourceName) throws MappingException
Read mappings as a application resourceName (i.e. classpath lookup) trying different class loaders.
resourceName
- The resource nameMappingException
- Indicates problems locating the resource or
processing the contained mapping document.public Configuration addClass(Class persistentClass) throws MappingException
Read a mapping as an application resource using the convention that a class named <tt>foo.bar.Foo</tt> is mapped by a file <tt>foo/bar/Foo.hbm.xml</tt> which can be resolved as a classpath resource.
persistentClass
- The mapped classMappingException
- Indicates problems locating the resource or
processing the contained mapping document.public Configuration addAnnotatedClass(Class annotatedClass)
Read metadata from the annotations associated with this class.
annotatedClass
- The class containing annotationspublic Configuration addPackage(String packageName) throws MappingException
Read package-level metadata.
packageName
- java package nameMappingException
- in case there is an error in the mapping datapublic Configuration addJar(File jar) throws MappingException
Read all mappings from a jar file <p/> Assumes that any file named <tt>*.hbm.xml</tt> is a mapping document.
jar
- a jar fileMappingException
- Indicates problems reading the jar file or
processing the contained mapping documents.public Configuration addDirectory(File dir) throws MappingException
Read all mapping documents from a directory tree. <p/> Assumes that any file named <tt>*.hbm.xml</tt> is a mapping document.
dir
- The directoryMappingException
- Indicates problems reading the jar file or
processing the contained mapping documents.public Interceptor getInterceptor()
Retrieve the configured Interceptor
.
Interceptor
public Configuration setInterceptor(Interceptor interceptor)
Set the current Interceptor
interceptor
- The Interceptor
to use for the built
SessionFactory
.public EntityTuplizerFactory getEntityTuplizerFactory()
public EntityNotFoundDelegate getEntityNotFoundDelegate()
Retrieve the user-supplied delegate to handle non-existent entity scenarios. May be null.
public void setEntityNotFoundDelegate(EntityNotFoundDelegate entityNotFoundDelegate)
Specify a user-supplied delegate to be used to handle scenarios where an entity could not be located by specified id. This is mainly intended for EJB3 implementations to be able to control how proxy initialization errors should be handled…
entityNotFoundDelegate
- The delegate to usepublic SessionFactoryObserver getSessionFactoryObserver()
public void setSessionFactoryObserver(SessionFactoryObserver sessionFactoryObserver)
public CurrentTenantIdentifierResolver getCurrentTenantIdentifierResolver()
public void setCurrentTenantIdentifierResolver(CurrentTenantIdentifierResolver currentTenantIdentifierResolver)
public SessionFactory buildSessionFactory(ServiceRegistry serviceRegistry) throws HibernateException
Create a SessionFactory
using the properties and mappings in this configuration. The
SessionFactory will be immutable, so changes made to this Configuration after building the
SessionFactory will not affect it.
serviceRegistry
- The registry of services to be used in creating this session factory.SessionFactory
HibernateException
- usually indicates an invalid configuration or invalid mapping informationpublic SessionFactory buildSessionFactory() throws HibernateException
Create a SessionFactory
using the properties and mappings in this configuration. The
SessionFactory
will be immutable, so changes made to this
Configuration
after
building the SessionFactory
will not affect it.
SessionFactory
HibernateException
- usually indicates an invalid configuration or invalid mapping informationpublic Map<String,SQLFunction> getSqlFunctions()
public void addSqlFunction(String functionName, SQLFunction function)
public void addAuxiliaryDatabaseObject(AuxiliaryDatabaseObject object)
public void addAttributeConverter(Class<? extends AttributeConverter> attributeConverterClass, boolean autoApply)
Adds the AttributeConverter Class to this Configuration.
attributeConverterClass
- The AttributeConverter class.autoApply
- Should the AttributeConverter be auto applied to property types as specified
by its "entity attribute" parameterized type?public void addAttributeConverter(Class<? extends AttributeConverter> attributeConverterClass)
Adds the AttributeConverter Class to this Configuration.
attributeConverterClass
- The AttributeConverter class.public void addAttributeConverter(AttributeConverter attributeConverter)
Adds the AttributeConverter instance to this Configuration. This form is mainly intended for developers
to programmatically add their own AttributeConverter instance. HEM, instead, uses the
addAttributeConverter(Class, boolean)
form
attributeConverter
- The AttributeConverter instance.public void addAttributeConverter(AttributeConverter attributeConverter, boolean autoApply)
Adds the AttributeConverter instance to this Configuration. This form is mainly intended for developers
to programmatically add their own AttributeConverter instance. HEM, instead, uses the
addAttributeConverter(Class, boolean)
form
attributeConverter
- The AttributeConverter instance.autoApply
- Should the AttributeConverter be auto applied to property types as specified
by its "entity attribute" parameterized type?public void addAttributeConverter(AttributeConverterDefinition definition)
public void setSharedCacheMode(SharedCacheMode sharedCacheMode)
Sets the SharedCacheMode to use.
Note that at the moment, only SharedCacheMode.ALL
has
any effect in terms of hbm.xml
binding.
sharedCacheMode
- The SharedCacheMode to usepublic Map getNamedSQLQueries()
public Map getSqlResultSetMappings()
public Collection<NamedEntityGraphDefinition> getNamedEntityGraphs()
public Map<String,NamedQueryDefinition> getNamedQueries()
public Map<String,NamedProcedureCallDefinition> getNamedProcedureCallMap()
@Deprecated public void buildMappings()
public Configuration mergeProperties(Properties properties)
Adds the incoming properties to the internal properties structure, as long as the internal structure does not already contain an entry for the given key.
properties
- The properties to mergeCopyright © 2001-2018 Red Hat, Inc. All Rights Reserved.