Skip to content

Commit

Permalink
Merge branch 'master' into metamodel
Browse files Browse the repository at this point in the history
Conflicts:
	hibernate-core/src/main/java/org/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl.java
	hibernate-core/src/main/java/org/hibernate/cache/internal/NoCachingRegionFactory.java
	hibernate-core/src/main/java/org/hibernate/cache/internal/RegionFactoryInitiator.java
	hibernate-core/src/main/java/org/hibernate/cfg/SettingsFactory.java
	hibernate-core/src/main/java/org/hibernate/cfg/beanvalidation/BeanValidationIntegrator.java
	hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/UserSuppliedConnectionProviderImpl.java
	hibernate-core/src/main/java/org/hibernate/engine/jdbc/internal/JdbcServicesImpl.java
	hibernate-core/src/main/java/org/hibernate/engine/jdbc/spi/JdbcServices.java
	hibernate-core/src/main/java/org/hibernate/internal/AbstractSessionImpl.java
	hibernate-core/src/main/java/org/hibernate/internal/CoreMessageLogger.java
	hibernate-core/src/main/java/org/hibernate/internal/SessionFactoryImpl.java
	hibernate-core/src/main/java/org/hibernate/internal/StoredProcedureCallImpl.java
	hibernate-core/src/main/java/org/hibernate/jaxb/internal/JaxbConfigurationProcessor.java
	hibernate-core/src/main/java/org/hibernate/jaxb/internal/JaxbMappingProcessor.java
	hibernate-core/src/main/java/org/hibernate/metamodel/internal/MetadataBuilderImpl.java
	hibernate-core/src/main/java/org/hibernate/metamodel/source/annotations/AnnotationMetadataSourceProcessorImpl.java
	hibernate-core/src/main/java/org/hibernate/metamodel/source/hbm/Helper.java
	hibernate-core/src/main/java/org/hibernate/metamodel/source/hbm/HibernateMappingProcessor.java
	hibernate-core/src/main/java/org/hibernate/metamodel/source/internal/IdentifierGeneratorResolver.java
	hibernate-core/src/main/java/org/hibernate/service/ConfigLoader.java
	hibernate-core/src/main/java/org/hibernate/service/ServiceRegistryBuilder.java
	hibernate-core/src/main/java/org/hibernate/service/StandardServiceInitiators.java
	hibernate-core/src/main/java/org/hibernate/stat/internal/StatisticsInitiator.java
	hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaExport.java
	hibernate-core/src/main/java/org/hibernate/type/EnumType.java
	hibernate-core/src/test/java/org/hibernate/metamodel/binding/AbstractBasicBindingTests.java
	hibernate-core/src/test/java/org/hibernate/metamodel/internal/source/MetadataImplTest.java
	hibernate-core/src/test/java/org/hibernate/metamodel/internal/source/annotations/entity/IdentifierGeneratorTest.java
	hibernate-core/src/test/java/org/hibernate/metamodel/internal/source/annotations/entity/MapsIdTest.java
	hibernate-core/src/test/java/org/hibernate/metamodel/internal/source/annotations/global/FetchProfileBinderTest.java
	hibernate-core/src/test/java/org/hibernate/metamodel/internal/source/annotations/global/QueryBinderTest.java
	hibernate-core/src/test/java/org/hibernate/metamodel/internal/source/annotations/util/BaseAnnotationIndexTestCase.java
	hibernate-core/src/test/java/org/hibernate/metamodel/internal/source/annotations/util/JandexHelperTest.java
	hibernate-core/src/test/java/org/hibernate/metamodel/internal/source/annotations/xml/OrmXmlParserTests.java
	hibernate-core/src/test/java/org/hibernate/metamodel/internal/source/annotations/xml/mocker/XmlHelper.java
	hibernate-core/src/test/java/org/hibernate/metamodel/spi/binding/SimpleValueBindingTests.java
	hibernate-core/src/test/java/org/hibernate/metamodel/spi/binding/UnidirectionalManyToManyBindingTests.java
	hibernate-core/src/test/java/org/hibernate/test/annotations/id/sequences/HibernateSequenceTest.java
	hibernate-core/src/test/java/org/hibernate/test/annotations/manytomany/ManyToManyTest.java
	hibernate-core/src/test/java/org/hibernate/test/common/BasicTestingJdbcServiceImpl.java
	hibernate-core/src/test/java/org/hibernate/test/common/JdbcConnectionAccessImpl.java
	hibernate-core/src/test/java/org/hibernate/test/connections/AggressiveReleaseTest.java
	hibernate-core/src/test/java/org/hibernate/test/connections/ConnectionManagementTestCase.java
	hibernate-core/src/test/java/org/hibernate/test/connections/ThreadLocalCurrentSessionTest.java
	hibernate-core/src/test/java/org/hibernate/test/events/CallbackTest.java
	hibernate-core/src/test/java/org/hibernate/test/flush/TestAutoFlushBeforeQueryExecution.java
	hibernate-core/src/test/java/org/hibernate/test/flush/TestCollectionInitializingDuringFlush.java
	hibernate-core/src/test/java/org/hibernate/test/interceptor/InterceptorTest.java
	hibernate-core/src/test/java/org/hibernate/test/keymanytoone/bidir/component/EagerKeyManyToOneTest.java
	hibernate-core/src/test/java/org/hibernate/test/propertyref/DoesNotWorkTest.java
	hibernate-core/src/test/java/org/hibernate/test/propertyref/DoesNotWorkWithHbmTest.java
	hibernate-core/src/test/java/org/hibernate/test/service/ClassLoaderServiceImplTest.java
	hibernate-core/src/test/resources/org/hibernate/jmx/Entity.hbm.xml
	hibernate-ehcache/src/main/java/org/hibernate/cache/ehcache/AbstractEhcacheRegionFactory.java
	hibernate-entitymanager/src/main/java/org/hibernate/jpa/boot/internal/EntityManagerFactoryBuilderImpl.java
	hibernate-entitymanager/src/main/java/org/hibernate/jpa/boot/internal/PersistenceXmlParser.java
	hibernate-entitymanager/src/main/java/org/hibernate/jpa/event/internal/jpa/CallbackProcessorImpl.java
	hibernate-entitymanager/src/main/java/org/hibernate/jpa/event/spi/JpaIntegrator.java
	hibernate-envers/src/main/java/org/hibernate/envers/event/EnversIntegrator.java
	hibernate-infinispan/src/main/java/org/hibernate/cache/infinispan/tm/HibernateTransactionManagerLookup.java
	hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/InfinispanRegionFactoryTestCase.java
	hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/NodeEnvironment.java
	hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/tm/JBossStandaloneJtaExampleTest.java
	hibernate-testing/src/main/java/org/hibernate/testing/junit4/BaseAnnotationBindingTestCase.java
	hibernate-testing/src/main/java/org/hibernate/testing/junit4/BaseCoreFunctionalTestCase.java
  • Loading branch information
sebersole committed Sep 10, 2012
2 parents a4b57ca + 7b486fc commit af115fe
Show file tree
Hide file tree
Showing 361 changed files with 6,247 additions and 3,501 deletions.
5 changes: 4 additions & 1 deletion build.gradle
Expand Up @@ -120,7 +120,6 @@ subprojects { subProject ->
testCompile files( toolsJar )
}
}
ext.aptDumpDir = subProject.file( "${buildDir}/tmp/apt" )

sourceSets.main {
compileClasspath += configurations.provided
Expand All @@ -133,6 +132,7 @@ subprojects { subProject ->
}

task generateMainLoggingClasses(type: Compile) {
ext.aptDumpDir = subProject.file( "${buildDir}/tmp/apt/logging" )
classpath = compileJava.classpath + configurations.jbossLoggingTool
source = sourceSets.main.originalJavaSrcDirs
destinationDir = aptDumpDir
Expand All @@ -153,6 +153,9 @@ subprojects { subProject ->
doFirst {
sourceSets.main.generatedLoggingSrcDir.mkdirs()
}
doLast {
aptDumpDir.delete()
}
}

// for the time being eat the annoying output from running the annotation processors
Expand Down
2 changes: 1 addition & 1 deletion changelog.txt
Expand Up @@ -256,7 +256,7 @@ https://hibernate.onjira.com/browse/HHH/fixforversion/11223
** Task
* [HHH-6082] - Incorporate EntityManager documentation into main dev guide
* [HHH-6336] - Add TenantIdentifierResolver
* [HHH-6656] - Document org.hibernate.service.classloading.spi.ClassLoaderService
* [HHH-6656] - Document org.hibernate.boot.registry.classloading.spi.ClassLoaderService
* [HHH-6966] - Re apply HHH-6782
* [HHH-6985] - Change up tests for PostgreSQL LockMode issues
* [HHH-7011] - Document multi-tenancy
Expand Down
Expand Up @@ -32,9 +32,9 @@

<para>
Hibernate obtains JDBC connections as needed though the
<interfacename>org.hibernate.service.jdbc.connections.spi.ConnectionProvider</interfacename> interface
<interfacename>ConnectionProvider</interfacename> interface
which is a service contract. Applications may also supply their own
<interfacename>org.hibernate.service.jdbc.connections.spi.ConnectionProvider</interfacename> implementation
<interfacename>ConnectionProvider</interfacename> implementation
to define a custom approach for supplying connections to Hibernate (from a different connection pool
implementation, for example).
</para>
Expand Down Expand Up @@ -232,7 +232,7 @@
</para>
<para>
You can define your own plugin strategy for obtaining JDBC connections by implementing the interface
<interfacename>org.hibernate.service.jdbc.connections.spi.ConnectionProvider</interfacename> and specifying your custom
<interfacename>ConnectionProvider</interfacename> and specifying your custom
implementation with the <property>hibernate.connection.provider_class</property> property.
</para>
</section>
Expand Down Expand Up @@ -386,22 +386,22 @@
<section>
<title>Dialect resolution</title>
<para>
Assuming a <interfacename>org.hibernate.service.jdbc.connections.spi.ConnectionProvider</interfacename> has been
Assuming a <interfacename>ConnectionProvider</interfacename> has been
set up, Hibernate will attempt to automatically determine the Dialect to use based on the
<interfacename>java.sql.DatabaseMetaData</interfacename> reported by a
<interfacename>java.sql.Connection</interfacename> obtained from that
<interfacename>org.hibernate.service.jdbc.connections.spi.ConnectionProvider</interfacename>.
<interfacename>ConnectionProvider</interfacename>.
</para>
<para>
This functionality is provided by a series of
<interfacename>org.hibernate.service.jdbc.dialect.spi.DialectResolver</interfacename> instances registered
<interfacename>org.hibernate.engine.jdbc.dialect.spi.DialectResolver</interfacename> instances registered
with Hibernate internally. Hibernate comes with a standard set of recognitions. If your application
requires extra Dialect resolution capabilities, it would simply register a custom implementation
of <interfacename>org.hibernate.service.jdbc.dialect.spi.DialectResolver</interfacename> as follows:
of <interfacename>org.hibernate.engine.jdbc.dialect.spi.DialectResolver</interfacename> as follows:
</para>
<!-- document an example using the service registry -->
<para>
Registered <interfacename>org.hibernate.service.jdbc.dialect.spi.DialectResolver</interfacename> are
Registered <interfacename>org.hibernate.engine.jdbc.dialect.spi.DialectResolver</interfacename> are
<emphasis>prepended</emphasis> to an internal list of resolvers, so they take precedence
before any already registered resolvers including the standard one.
</para>
Expand Down
Expand Up @@ -149,7 +149,7 @@
<para>
Correlates to the separate schema approach. It is an error to attempt to open a session without
a tenant identifier using this strategy. Additionally, a
<interfacename>org.hibernate.service.jdbc.connections.spi.MultiTenantConnectionProvider</interfacename>
<interfacename>MultiTenantConnectionProvider</interfacename>
must be specified.
</para>
</listitem>
Expand All @@ -160,7 +160,7 @@
<para>
Correlates to the separate database approach. It is an error to attempt to open a session without
a tenant identifier using this strategy. Additionally, a
<interfacename>org.hibernate.service.jdbc.connections.spi.MultiTenantConnectionProvider</interfacename>
<interfacename>MultiTenantConnectionProvider</interfacename>
must be specified.
</para>
</listitem>
Expand All @@ -182,7 +182,7 @@
<para>
When using either the DATABASE or SCHEMA approach, Hibernate needs to be able to obtain Connections
in a tenant specific manner. That is the role of the
<interfacename>org.hibernate.service.jdbc.connections.spi.MultiTenantConnectionProvider</interfacename>
<interfacename>MultiTenantConnectionProvider</interfacename>
contract. Application developers will need to provide an implementation of this
contract. Most of its methods are extremely self-explanatory. The only ones which might not be are
<methodname>getAnyConnection</methodname> and <methodname>releaseAnyConnection</methodname>. It is
Expand All @@ -205,15 +205,15 @@
</listitem>
<listitem>
<para>
Passed directly to the <classname>org.hibernate.service.ServiceRegistryBuilder</classname>.
Passed directly to the <classname>org.hibernate.boot.registry.StandardServiceRegistryBuilder</classname>.
</para>
</listitem>
<listitem>
<para>
If none of the above options match, but the settings do specify a
<property>hibernate.connection.datasource</property> value, Hibernate will assume it should
use the specific
<classname>org.hibernate.service.jdbc.connections.spi.DataSourceBasedMultiTenantConnectionProviderImpl</classname>
<classname>DataSourceBasedMultiTenantConnectionProviderImpl</classname>
implementation which works on a number of pretty reasonable assumptions when running inside of
an app server and using one <interfacename>javax.sql.DataSource</interfacename> per tenant.
See its javadocs for more details.
Expand Down

0 comments on commit af115fe

Please sign in to comment.