8. JNDI
Hibernate does optionally interact with JNDI on the applications behalf. Generally it does this when the application:
has asked the SessionFactory be bound to JNDI
has specified a DataSource to use by JNDI name
is using JTA transactions and the
JtaPlatform
needs to do JNDI lookups forTransactionManager
,UserTransaction
, etc
All of these JNDI calls route through a single service whose role is org.hibernate.engine.jndi.spi.JndiService
. The standard JndiService
accepts a number of configuration settings
hibernate.jndi.class
names the javax.naming.InitialContext implementation class to use. See
javax.naming.Context#INITIAL_CONTEXT_FACTORY
hibernate.jndi.url
- names the JNDI InitialContext connection url. See
javax.naming.Context.PROVIDER_URL
Any other settings prefixed with hibernate.jndi.
will be collected and passed along to the JNDI provider.
| | The standard JndiService
assumes that all JNDI calls are relative to the same InitialContext
. If your application uses multiple naming servers for whatever reason, you will need a custom JndiService
implementation to handle those details. |
| --- | --- |