Hibernate SVN: r21091 - in entitymanager/branches/v3_4_0_GA_CP/src: test/java/org/hibernate/ejb/test/packaging and 2 other directories.
by hibernate-commits@lists.jboss.org
Author: brmeyer
Date: 2012-12-10 13:17:48 -0500 (Mon, 10 Dec 2012)
New Revision: 21091
Added:
entitymanager/branches/v3_4_0_GA_CP/src/test/resources/org/hibernate/ejb/test/packaging/
entitymanager/branches/v3_4_0_GA_CP/src/test/resources/org/hibernate/ejb/test/packaging/empty.txt
entitymanager/branches/v3_4_0_GA_CP/src/test/resources/org/hibernate/ejb/test/packaging/large.jar
Modified:
entitymanager/branches/v3_4_0_GA_CP/src/main/java/org/hibernate/ejb/packaging/JarVisitorFactory.java
entitymanager/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/ejb/test/packaging/JarVisitorTest.java
Log:
JBPAPP-10486 Inefficient implementation of JarVisitorFactory.getBytesFromInputStream
Modified: entitymanager/branches/v3_4_0_GA_CP/src/main/java/org/hibernate/ejb/packaging/JarVisitorFactory.java
===================================================================
--- entitymanager/branches/v3_4_0_GA_CP/src/main/java/org/hibernate/ejb/packaging/JarVisitorFactory.java 2012-12-10 17:56:20 UTC (rev 21090)
+++ entitymanager/branches/v3_4_0_GA_CP/src/main/java/org/hibernate/ejb/packaging/JarVisitorFactory.java 2012-12-10 18:17:48 UTC (rev 21091)
@@ -7,6 +7,8 @@
import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;
+import java.util.LinkedList;
+import java.util.List;
import org.hibernate.util.StringHelper;
import org.slf4j.Logger;
@@ -152,18 +154,38 @@
}
}
- public static byte[] getBytesFromInputStream(InputStream inputStream) throws IOException {
+ // Optimized by HHH-7835
+ public static byte[] getBytesFromInputStream(InputStream inputStream)
+ throws IOException {
int size;
- byte[] tmpByte = new byte[ 4096 ];
- byte[] entryBytes = new byte[0];
- for ( ; ; ) {
- size = inputStream.read( tmpByte );
- if ( size == -1 ) break;
- byte[] current = new byte[ entryBytes.length + size ];
- System.arraycopy( entryBytes, 0, current, 0, entryBytes.length );
- System.arraycopy( tmpByte, 0, current, entryBytes.length, size );
- entryBytes = current;
+ List<byte[]> data = new LinkedList<byte[]>();
+ int bufferSize = 4096;
+ byte[] tmpByte = new byte[bufferSize];
+ int offset = 0;
+ int total = 0;
+ for (;;) {
+ size = inputStream.read(tmpByte, offset, bufferSize - offset);
+ if (size == -1)
+ break;
+
+ offset += size;
+
+ if (offset == tmpByte.length) {
+ data.add(tmpByte);
+ tmpByte = new byte[bufferSize];
+ offset = 0;
+ total += tmpByte.length;
+ }
}
- return entryBytes;
+
+ byte[] result = new byte[total + offset];
+ int count = 0;
+ for (byte[] arr : data) {
+ System.arraycopy(arr, 0, result, count * arr.length, arr.length);
+ count++;
+ }
+ System.arraycopy(tmpByte, 0, result, count * tmpByte.length, offset);
+
+ return result;
}
}
Modified: entitymanager/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/ejb/test/packaging/JarVisitorTest.java
===================================================================
--- entitymanager/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/ejb/test/packaging/JarVisitorTest.java 2012-12-10 17:56:20 UTC (rev 21090)
+++ entitymanager/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/ejb/test/packaging/JarVisitorTest.java 2012-12-10 18:17:48 UTC (rev 21091)
@@ -1,7 +1,11 @@
//$Id$
package org.hibernate.ejb.test.packaging;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;
@@ -260,7 +264,70 @@
// Entry entry = new Entry( Carpet.class.getName(), null );
// assertTrue( entries[1].contains( entry ) );
}
+
+ // HHH-7835
+ public void testGetBytesFromInputStream() {
+ try {
+ File file = new File(
+ "src/test/resources/org/hibernate/ejb/test/packaging/large.jar");
+ long start = System.currentTimeMillis();
+ InputStream stream = new BufferedInputStream(new FileInputStream(
+ file));
+ int oldLength = getBytesFromInputStream(stream).length;
+ stream.close();
+ long oldTime = System.currentTimeMillis() - start;
+
+ start = System.currentTimeMillis();
+ stream = new BufferedInputStream(new FileInputStream(file));
+ int newLength = JarVisitorFactory.getBytesFromInputStream(stream).length;
+ stream.close();
+ long newTime = System.currentTimeMillis() - start;
+
+ assertEquals(oldLength, newLength);
+ assertTrue(oldTime > newTime);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ // This is the old getBytesFromInputStream from JarVisitorFactory before
+ // it was changed by HHH-7835. Use it as a regression test.
+ private byte[] getBytesFromInputStream(InputStream inputStream)
+ throws IOException {
+ int size;
+
+ byte[] entryBytes = new byte[0];
+ for (;;) {
+ byte[] tmpByte = new byte[4096];
+ size = inputStream.read(tmpByte);
+ if (size == -1)
+ break;
+ byte[] current = new byte[entryBytes.length + size];
+ System.arraycopy(entryBytes, 0, current, 0, entryBytes.length);
+ System.arraycopy(tmpByte, 0, current, entryBytes.length, size);
+ entryBytes = current;
+ }
+ return entryBytes;
+ }
+
+ // HHH-7835
+ public void testGetBytesFromZeroInputStream() {
+ try {
+ // Ensure that JarVisitorFactory#getBytesFromInputStream
+ // can handle 0 length streams gracefully.
+ InputStream emptyStream = new BufferedInputStream(
+ new FileInputStream(
+ new File(
+ "src/test/resources/org/hibernate/ejb/test/packaging/empty.txt")));
+ int length = JarVisitorFactory.getBytesFromInputStream(emptyStream).length;
+ assertEquals(length, 0);
+ emptyStream.close();
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
private Filter[] getFilters() {
return new Filter[]{
new PackageFilter( false, null ) {
Added: entitymanager/branches/v3_4_0_GA_CP/src/test/resources/org/hibernate/ejb/test/packaging/empty.txt
===================================================================
Added: entitymanager/branches/v3_4_0_GA_CP/src/test/resources/org/hibernate/ejb/test/packaging/large.jar
===================================================================
(Binary files differ)
Property changes on: entitymanager/branches/v3_4_0_GA_CP/src/test/resources/org/hibernate/ejb/test/packaging/large.jar
___________________________________________________________________
Added: svn:mime-type
+ application/zip
11 years, 8 months
Hibernate SVN: r21090 - in entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src: test/java/org/hibernate/ejb/test/packaging and 2 other directories.
by hibernate-commits@lists.jboss.org
Author: brmeyer
Date: 2012-12-10 12:56:20 -0500 (Mon, 10 Dec 2012)
New Revision: 21090
Added:
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/test/resources/org/hibernate/ejb/test/packaging/
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/test/resources/org/hibernate/ejb/test/packaging/empty.txt
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/test/resources/org/hibernate/ejb/test/packaging/large.jar
Modified:
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/main/java/org/hibernate/ejb/packaging/JarVisitorFactory.java
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/test/java/org/hibernate/ejb/test/packaging/JarVisitorTest.java
Log:
JBPAPP-10486 one-off patch
Modified: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/main/java/org/hibernate/ejb/packaging/JarVisitorFactory.java
===================================================================
--- entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/main/java/org/hibernate/ejb/packaging/JarVisitorFactory.java 2012-12-10 17:15:31 UTC (rev 21089)
+++ entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/main/java/org/hibernate/ejb/packaging/JarVisitorFactory.java 2012-12-10 17:56:20 UTC (rev 21090)
@@ -7,6 +7,8 @@
import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;
+import java.util.LinkedList;
+import java.util.List;
import org.hibernate.util.StringHelper;
import org.slf4j.Logger;
@@ -136,18 +138,38 @@
}
}
- public static byte[] getBytesFromInputStream(InputStream inputStream) throws IOException {
+ // Optimized by HHH-7835
+ public static byte[] getBytesFromInputStream(InputStream inputStream)
+ throws IOException {
int size;
- byte[] tmpByte = new byte[ 4096 ];
- byte[] entryBytes = new byte[0];
- for ( ; ; ) {
- size = inputStream.read( tmpByte );
- if ( size == -1 ) break;
- byte[] current = new byte[ entryBytes.length + size ];
- System.arraycopy( entryBytes, 0, current, 0, entryBytes.length );
- System.arraycopy( tmpByte, 0, current, entryBytes.length, size );
- entryBytes = current;
+ List<byte[]> data = new LinkedList<byte[]>();
+ int bufferSize = 4096;
+ byte[] tmpByte = new byte[bufferSize];
+ int offset = 0;
+ int total = 0;
+ for (;;) {
+ size = inputStream.read(tmpByte, offset, bufferSize - offset);
+ if (size == -1)
+ break;
+
+ offset += size;
+
+ if (offset == tmpByte.length) {
+ data.add(tmpByte);
+ tmpByte = new byte[bufferSize];
+ offset = 0;
+ total += tmpByte.length;
+ }
}
- return entryBytes;
+
+ byte[] result = new byte[total + offset];
+ int count = 0;
+ for (byte[] arr : data) {
+ System.arraycopy(arr, 0, result, count * arr.length, arr.length);
+ count++;
+ }
+ System.arraycopy(tmpByte, 0, result, count * tmpByte.length, offset);
+
+ return result;
}
}
Modified: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/test/java/org/hibernate/ejb/test/packaging/JarVisitorTest.java
===================================================================
--- entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/test/java/org/hibernate/ejb/test/packaging/JarVisitorTest.java 2012-12-10 17:15:31 UTC (rev 21089)
+++ entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/test/java/org/hibernate/ejb/test/packaging/JarVisitorTest.java 2012-12-10 17:56:20 UTC (rev 21090)
@@ -1,7 +1,11 @@
//$Id$
package org.hibernate.ejb.test.packaging;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.Set;
@@ -219,7 +223,70 @@
// Entry entry = new Entry( Carpet.class.getName(), null );
// assertTrue( entries[1].contains( entry ) );
}
+
+ // HHH-7835
+ public void testGetBytesFromInputStream() {
+ try {
+ File file = new File(
+ "src/test/resources/org/hibernate/ejb/test/packaging/large.jar");
+ long start = System.currentTimeMillis();
+ InputStream stream = new BufferedInputStream(new FileInputStream(
+ file));
+ int oldLength = getBytesFromInputStream(stream).length;
+ stream.close();
+ long oldTime = System.currentTimeMillis() - start;
+
+ start = System.currentTimeMillis();
+ stream = new BufferedInputStream(new FileInputStream(file));
+ int newLength = JarVisitorFactory.getBytesFromInputStream(stream).length;
+ stream.close();
+ long newTime = System.currentTimeMillis() - start;
+
+ assertEquals(oldLength, newLength);
+ assertTrue(oldTime > newTime);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ // This is the old getBytesFromInputStream from JarVisitorFactory before
+ // it was changed by HHH-7835. Use it as a regression test.
+ private byte[] getBytesFromInputStream(InputStream inputStream)
+ throws IOException {
+ int size;
+
+ byte[] entryBytes = new byte[0];
+ for (;;) {
+ byte[] tmpByte = new byte[4096];
+ size = inputStream.read(tmpByte);
+ if (size == -1)
+ break;
+ byte[] current = new byte[entryBytes.length + size];
+ System.arraycopy(entryBytes, 0, current, 0, entryBytes.length);
+ System.arraycopy(tmpByte, 0, current, entryBytes.length, size);
+ entryBytes = current;
+ }
+ return entryBytes;
+ }
+
+ // HHH-7835
+ public void testGetBytesFromZeroInputStream() {
+ try {
+ // Ensure that JarVisitorFactory#getBytesFromInputStream
+ // can handle 0 length streams gracefully.
+ InputStream emptyStream = new BufferedInputStream(
+ new FileInputStream(
+ new File(
+ "src/test/resources/org/hibernate/ejb/test/packaging/empty.txt")));
+ int length = JarVisitorFactory.getBytesFromInputStream(emptyStream).length;
+ assertEquals(length, 0);
+ emptyStream.close();
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
private Filter[] getFilters() {
return new Filter[]{
new PackageFilter( false, null ) {
Added: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/test/resources/org/hibernate/ejb/test/packaging/empty.txt
===================================================================
Added: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/test/resources/org/hibernate/ejb/test/packaging/large.jar
===================================================================
(Binary files differ)
Property changes on: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/test/resources/org/hibernate/ejb/test/packaging/large.jar
___________________________________________________________________
Added: svn:mime-type
+ application/zip
11 years, 8 months
Hibernate SVN: r21089 - in entitymanager/patches: 3.4.0.GA_CP04_JBPAPP-10486 and 1 other directory.
by hibernate-commits@lists.jboss.org
Author: brmeyer
Date: 2012-12-10 12:15:31 -0500 (Mon, 10 Dec 2012)
New Revision: 21089
Added:
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/.cvsignore
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/build.xml
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/lgpl.txt
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/pom.xml
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/
Log:
Branching for JBPAPP-10486 one-off patch
Copied: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/.cvsignore (from rev 21088, entitymanager/tags/3.4.0.GA_CP04/.cvsignore)
===================================================================
--- entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/.cvsignore (rev 0)
+++ entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/.cvsignore 2012-12-10 17:15:31 UTC (rev 21089)
@@ -0,0 +1,4 @@
+build.properties
+build
+target
+test_output
Copied: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/build.xml (from rev 21088, entitymanager/tags/3.4.0.GA_CP04/build.xml)
===================================================================
--- entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/build.xml (rev 0)
+++ entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/build.xml 2012-12-10 17:15:31 UTC (rev 21089)
@@ -0,0 +1,97 @@
+<!-- $Id$ -->
+<!--
+ Hibernate Entity Manager ANT build script.
+-->
+
+<project name="HibernateEntityManager" basedir=".">
+
+ <target name="packjar">
+ <property name="extension" value="jar"/>
+ <property name="packagename" value="${jarname}"/>
+ <property name="headerdirectory" value="."/>
+ <mkdir dir="${package.dir}"/>
+ <mkdir dir="${package.tmp.dir}/${headerdirectory}"/>
+ <copy todir="${package.tmp.dir}/${headerdirectory}">
+ <fileset dir="${classes.dir}">
+ <include name="**/test/pack/${packagename}/**.*"/>
+ </fileset>
+ </copy>
+ <jar destfile="${package.dir}/${jarname}.${extension}">
+ <fileset dir="${package.tmp.dir}">
+ <include name="**/*.*"/>
+ </fileset>
+ <fileset dir="${testresources.dir}/${jarname}">
+ <include name="**/*.*"/>
+ </fileset>
+ </jar>
+ <delete dir="${package.tmp.dir}"/>
+ </target>
+
+ <target name="packexploded">
+ <property name="extension" value="jar"/>
+ <mkdir dir="${package.dir}/${jarname}.${extension}"/>
+ <copy todir="${package.dir}/${jarname}.${extension}">
+ <fileset dir="${classes.dir}">
+ <include name="**/test/pack/${jarname}/**.*"/>
+ </fileset>
+ <fileset dir="${testresources.dir}/${jarname}">
+ <include name="**/*.*"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="package" description="Prepare all needed jars and pars">
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="defaultpar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="space par"/>
+ <param name="packagename" value="spacepar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="explicitpar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="excludehbmpar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="jar"/>
+ <param name="jarname" value="externaljar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="cfgxmlpar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="jar"/>
+ <param name="jarname" value="overridenpar"/>
+ </antcall>
+
+ <!-- nested jar -->
+ <jar destfile="${package.dir}/nestedjar.ear">
+ <fileset dir="${package.dir}">
+ <include name="defaultpar.par"/>
+ </fileset>
+ </jar>
+ <copy todir="${package.dir}/nesteddir.ear">
+ <fileset dir="${package.dir}">
+ <include name="defaultpar.par"/>
+ </fileset>
+ </copy>
+
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="war"/>
+ <param name="jarname" value="war"/>
+ <param name="headerdirectory" value="WEB-INF/classes"/>
+ </antcall>
+
+ <antcall target="packexploded" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="explodedpar"/>
+ </antcall>
+ </target>
+</project>
Copied: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/lgpl.txt (from rev 21088, entitymanager/tags/3.4.0.GA_CP04/lgpl.txt)
===================================================================
--- entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/lgpl.txt (rev 0)
+++ entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/lgpl.txt 2012-12-10 17:15:31 UTC (rev 21089)
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
Copied: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/pom.xml (from rev 21088, entitymanager/tags/3.4.0.GA_CP04/pom.xml)
===================================================================
--- entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/pom.xml (rev 0)
+++ entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/pom.xml 2012-12-10 17:15:31 UTC (rev 21089)
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Hibernate, Relational Persistence for Idiomatic Java
+ ~
+ ~ Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ ~ indicated by the @author tags or express copyright attribution
+ ~ statements applied by the authors. All third-party contributions are
+ ~ distributed under license by Red Hat Middleware LLC.
+ ~
+ ~ This copyrighted material is made available to anyone wishing to use, modify,
+ ~ copy, or redistribute it subject to the terms and conditions of the GNU
+ ~ Lesser General Public License, as published by the Free Software Foundation.
+ ~
+ ~ This program is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ ~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ ~ for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public License
+ ~ along with this distribution; if not, write to:
+ ~ Free Software Foundation, Inc.
+ ~ 51 Franklin Street, Fifth Floor
+ ~ Boston, MA 02110-1301 USA
+ ~
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-parent</artifactId>
+ <version>3.3.2.GA_CP04</version>
+ </parent>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <packaging>jar</packaging>
+ <version>3.4.0.GA_CP04</version>
+
+ <name>Hibernate Entity Manager</name>
+ <description>Hibernate Entity Manager</description>
+ <url>http://entitymanager.hibernate.org</url>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>ejb3-persistence</artifactId>
+ <version>1.0.2.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>3.1.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.4.0.GA_CP04</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>3.3.2.GA_CP04</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-testing</artifactId>
+ <version>3.3.2.GA_CP04</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-transaction-api</artifactId>
+ <version>1.0.1.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>javassist</groupId>
+ <artifactId>javassist</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <testResources>
+ <testResource>
+ <filtering>true</filtering>
+ <directory>src/test/resources</directory>
+ </testResource>
+ <testResource>
+ <filtering>true</filtering>
+ <directory>src/test/bundles</directory>
+ <targetPath>../bundles</targetPath>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-injection-plugin</artifactId>
+ <version>1.0.2</version>
+ <executions>
+ <execution>
+ <phase>compile</phase>
+ <goals>
+ <goal>bytecode</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <bytecodeInjections>
+ <bytecodeInjection>
+ <expression>${pom.version}</expression>
+ <targetMembers>
+ <constant>
+ <className>org.hibernate.ejb.Version</className>
+ <fieldName>VERSION</fieldName>
+ </constant>
+ </targetMembers>
+ </bytecodeInjection>
+ </bytecodeInjections>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <phase>process-test-classes</phase>
+ <configuration>
+ <tasks>
+ <property name="package.dir" value="${basedir}/target/test-packages" />
+ <property name="package.tmp.dir" value="${basedir}/target/tmp" />
+ <property name="classes.dir" value="${project.build.directory}/test-classes" />
+ <property name="testresources.dir" value="${basedir}/target/bundles" />
+ <ant antfile="${basedir}/build.xml">
+ <target name="package" />
+ </ant>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- add specification/implementation details to the manifests -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <addMavenDescriptor>false</addMavenDescriptor>
+ <manifest>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ <manifestEntries>
+ <Specification-Vendor>jcp.org</Specification-Vendor>
+ <Specification-Version>1.0</Specification-Version>
+ <Specification-Title>Java Persistence</Specification-Title>
+ <Implementation-Vendor-Id>hibernate.org</Implementation-Vendor-Id>
+ <Implementation-Vendor>hibernate.org</Implementation-Vendor>
+ <Implementation-URL>http://entitymanager.hibernate.org</Implementation-URL>
+ <Implementation-Title>Hibernate EntityManager</Implementation-Title>
+ <Implementation-Version>${version}</Implementation-Version>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <forkMode>pertest</forkMode>
+ <additionalClasspathElements>
+ <additionalClasspathElement>${basedir}/target/test-packages/cfgxmlpar.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/defaultpar.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/excludehbmpar.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/explicitpar.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/explodedpar.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/externaljar.jar</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/overridenpar.jar</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/space par.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/war.war</additionalClasspathElement>
+ </additionalClasspathElements>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/dist.xml</descriptor>
+ </descriptors>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://download.oracle.com/javase/6/docs/api/</link>
+ <link>http://download.oracle.com/javaee/6/api/</link>
+ </links>
+ <stylesheetfile>${basedir}/src/main/javadoc/jdstyle.css</stylesheetfile>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
\ No newline at end of file
11 years, 8 months
Hibernate SVN: r21088 - entitymanager/patches.
by hibernate-commits@lists.jboss.org
Author: brmeyer
Date: 2012-12-10 12:14:27 -0500 (Mon, 10 Dec 2012)
New Revision: 21088
Removed:
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/
Log:
Branching for JBPAPP-10486 one-off patch
11 years, 8 months
Hibernate SVN: r21087 - in core/patches: hibernate-3.3.2.GA_CP04_JBPAPP-10486 and 1 other directory.
by hibernate-commits@lists.jboss.org
Author: brmeyer
Date: 2012-12-10 11:26:32 -0500 (Mon, 10 Dec 2012)
New Revision: 21087
Added:
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/cache-ehcache/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/cache-jbosscache2/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/cache-oscache/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/cache-swarmcache/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/changelog.txt
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/connection-c3p0/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/connection-proxool/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/core/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/distribution/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/etc/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/hibernate_logo.gif
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/jdbc3-testing/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/jdbc4-testing/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/jmx/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/lgpl.txt
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/parent/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/pom.xml
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/testing/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/testsuite/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/tutorials/
Log:
Branching for JBPAPP-10486 one-off patch
Copied: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/changelog.txt (from rev 21086, core/tags/hibernate-3.3.2.GA_CP04/changelog.txt)
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/changelog.txt (rev 0)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/changelog.txt 2012-12-10 16:26:32 UTC (rev 21087)
@@ -0,0 +1,2799 @@
+Hibernate Changelog
+===================
+Note: Newer entries are automatically generated and the description might not
+match the actual issue resolution (i.e. a bug might not be a bug). Please
+refer to the particular case on JIRA using the issue tracking number to learn
+more about each case.
+
+
+Changes in version 3.3.2.GA_CP01 (2010.01.13)
+------------------------------------------------
+
+** Bug
+ * [JBPAPP-1547] - HHH-3686 - Sybase - QueryCacheTest.testQueryCacheInvalidation fails
+ * [JBPAPP-2277] - CLONE -HHH-2990 - Bad usage of ClassLoader.loadClass() for Java6 in SerializationHelper$CustomObjectInputStream - deserialization bottleneck for arrays
+ * [JBPAPP-2408] - Bug in DB2 9.7 driver affects Hibernate's "native" ID generator
+ * [JBPAPP-2716] - Core - FooBarTest - "operator does not exist: character varying = integer"
+ * [JBPAPP-2791] - CLONE -HHH-4457 - SchemaUpdate fails on Sybase ASE 15 when a new column is added without a default value
+ * [JBPAPP-2858] - HHH-4463 Native queries should not be automatically paginated in getSingleResult() as it fails for some DB and or queries
+ * [JBPAPP-2892] - DataVersioningException when using EJB3 entities with OPTIMISTIC caching
+ * [JBPAPP-2900] - HHH-4486 - Account for MySQL's <DROP TEMPORARY TABLE> statement
+ * [JBPAPP-2910] - hhh-4415 TestCase could check for superclass of Dialect before skipping it
+ * [JBPAPP-2922] - HHH-4494 - cglib log warning says BytecodeProvider impl is considered deprecated
+ * [JBPAPP-2957] - HHH-3818 Hibernate/JBC integration doesn't property handle Entity/CollectionRegionAccessStrategy evict
+ * [JBPAPP-3067] - HHH-4576 - Tests in MySQL using different case for objects as defined in configuration
+ * [JBPAPP-3078] - Test JMSMasterTest contains invalid SQL statement
+ * [JBPAPP-3089] - HHH-2166 - Long "in" lists in queries results in a Java stack overflow exception.
+ * [JBPAPP-3098] - HHH-4065 - Incorrect SQL is used for HQL if the number of values for a filter collection parameter is changed
+ * [JBPAPP-3116] - update hibernate annotations dependency of core
+ * [JBPAPP-3162] - hibernate core distro does not contains asm
+ * [JBPAPP-3173] - HHH-4614 (javassist)Instrumented model with abstract MappedSuperclass and field access doesn't work
+ * [JBPAPP-3209] - HHH-4625 Use of maven-injection-plugin intermittently leads to build failures
+ * [JBPAPP-3223] - HHH-3164 "id in ..." with EmbeddedId and criteria API
+ * [JBPAPP-3224] - update hibernate entitymanager dependency of core
+ * [JBPAPP-3310] - HHH-4741 org.hibernate.test.filter.DynamicFilterTest.testSqlSyntaxOfFiltersWithUnions fails on MySQL
+ * [JBPAPP-3312] - org.hibernate.test.legacy.CustomSQLTest fails
+ * [JBPAPP-3313] - org.hibernate.test.stateless.fetching.StatelessSessionFetchingTest.testDynamicFetch fails on PostgreSQL
+ * [JBPAPP-3315] - default batch_versioned_data =true cause two test case fails on oracle
+ * [JBPAPP-3317] - exclude postgresql and oracle in the test of org.hibernate.test.cascade.BidirectionalOneToManyCascadeTest.testSaveOrphanDeleteChildWithParentFailureExpected
+ * [JBPAPP-3321] - keywords 'on oracle cause test cases fail
+ * [JBPAPP-3323] - org.hibernate.test.legacy.SQLFunctionsTest.testDialectSQLFunctions fails on oracle
+ * [JBPAPP-3325] - org.hibernate.test.legacy.CustomSQLTest.testInsert fails on most of DBs
+ * [JBPAPP-3371] - HHH-4769 on MySQL, HQL function ROUND always returns an Integer, it truncate the decimal part of Double number.
+ * [JBPAPP-3372] - HHH-4764 org.hibernate.test.pagination.PaginationTest.testLimitOffset() fails on oracle and db2
+ * [JBPAPP-3375] - HHH-4773 unit tests fail cos db2 doesn't allow primary key column nullable
+ * [JBPAPP-3378] - non-utf8 data cause tests fail on sybase
+ * [JBPAPP-3379] - default hibernate.jdbc.use_streams_for_binary cause two test cases fail on db2
+
+** Task
+ * [JBPAPP-3115] - update HREFs for JDK from jdk1.4 to jdk1.5
+ * [JBPAPP-3218] - update db profile in hibernate eap 5 cp branch
+ * [JBPAPP-3360] - enable show_sql property and update log4j.properties to show some more useful log
+
+
+Changes in version 3.3.2.GA (2009.06.24)
+-------------------------------------------
+
+** Bug
+ * [HHH-1930] - QuerySyntaxException "with-clause expressions did not reference from-clause element to which the with-clause was associated"
+ * [HHH-2146] - NullpointerException in DefaultDeleteEventListener.deleteTransientEntity
+ * [HHH-2745] - NullPointerException when eager fetching joined many-to-many with native SQL query
+ * [HHH-3046] - Merge fails on complicated data structure because of cycle references
+ * [HHH-3216] - Incorrect parse result in ParameterParser
+ * [HHH-3351] - Dynamic entity model and inheritance - exception when trying to persist
+ * [HHH-3481] - JTATransactionFactory bug when Transaction cannot be found in JNDI
+ * [HHH-3483] - org.hibernate.test.hql.ScrollableCollectionFetchingTest#testScrollingJoinFetchesForward unsupported by DB2
+ * [HHH-3496] - DB2 hanging on JPALockTest and CMTTest
+ * [HHH-3501] - ASTParserLoadingTest testing unsupported queries for DB2
+ * [HHH-3506] - enabled filters should apply to HQL update/delete statements
+ * [HHH-3508] - Sybase Dialect - Override supportsCascadeDelete to return "false"
+ * [HHH-3519] - account for parameters in select clause of INSERT-SELECT for DB2
+ * [HHH-3528] - FETCH JOIN query doesn't work in a StatelessSession
+ * [HHH-3584] - Generate SQL when Dynamic Update is true is including version field even when marked as updateable=false
+ * [HHH-3621] - Assertion failure in MigrationTest
+ * [HHH-3636] - Attempt to read invalid column when loading collection of subclasses mapped with table-per-subclass with discriminator
+ * [HHH-3640] - Some standard SQL functions are not implemented in Sybase
+ * [HHH-3652] - CompositeIdWithGeneratorTest needs a standard way to compare timestamps
+ * [HHH-3662] - Merging read-only entities causes AssertionError("Merged entity does not have status set to MANAGED...")
+ * [HHH-3668] - Sybase does not support implicit conversion from character types to numeric types causes failing unit tests
+ * [HHH-3670] - Invalid test for str() for SQL Server and Sybase
+ * [HHH-3672] - Sybase - second(), minute(), hour(), and extract() cause GenericJDBCException
+ * [HHH-3675] - Limitations on Sybase ResultSet implementation cause unit test failures
+ * [HHH-3679] - Sybase conversion of Java byte to tinyint fails with 8-bit values causing unit test failures
+ * [HHH-3680] - Sybase - composite primary key in unit test exceeds maximum for index causing failure
+ * [HHH-3693] - Implicit Polymorphic query + pagination returning zero result
+ * [HHH-3696] - Sybase - unit tests fail when numeric values overflow in precision or scale on insert
+ * [HHH-3698] - Problem with HQL parameter bindings as indexed collection selectors
+ * [HHH-3699] - Problem with HQL parameter bindings for parameters in WITH join clause
+ * [HHH-3701] - SQL function "trim" is not available in Sybase Dialect
+ * [HHH-3749] - Only reuse FromElements originating from from-clause if their aliases match
+ * [HHH-3810] - Transient entities can be inserted twice on merge
+ * [HHH-3874] - Packaging type in hibernate-maven-plugin/pom.xml makes maven build fail
+ * [HHH-3880] - org.hibernate.id.enhanced.TableStructure missing "as" keyword in select statment column renames; required for PostgreSQL
+ * [HHH-3912] - Change for HHH-3159 causes InstantiationException
+ * [HHH-3918] - Use standard JDK exception nesting
+ * [HHH-3980] - Fix for HHH-2980 introduced bug that allows the same bag collection role to be fetched multiple times
+
+** Improvement
+ * [HHH-1234] - allow tuplizers the opportunity to influence getSubclassEntityPersister() processing
+ * [HHH-2592] - force hibernate to generate use offset qeury when offset is zero
+ * [HHH-2980] - Error "org.hibernate.HibernateException: cannot simultaneously fetch multiple bags" not specific enough
+ * [HHH-3159] - Oracle 11g - desupport of oracle.jdbc.driver
+ * [HHH-3275] - Allow pluggable tuplizers for composite elements
+ * [HHH-3276] - review proposed new doc styling
+ * [HHH-3357] - improve performance of session.clear()
+ * [HHH-3383] - QueryKey is storing references to entities instead of identifiers
+ * [HHH-3515] - Introduce EntityNameResolver interface
+ * [HHH-3517] - Allow definition of the default tuplizer class to use
+ * [HHH-3518] - Remove Suite classes from testsuite module
+ * [HHH-3525] - Clean up reflection code trying to determine JDK 1.4 capabilities
+ * [HHH-3532] - schema update task should look for foreign key signature
+ * [HHH-3712] - Reorganize the Sybase dialect class hierarchy, add SybaseASE15Dialect, and mark SybaseDialect as deprecated
+ * [HHH-3737] - Support Hibernate 3.3 branch in Envers until 3.4.0GA is out
+ * [HHH-3750] - Allow dialects to handle difference in how Query.setFirstResult() should be interpreted
+ * [HHH-3751] - Enable Antlr tree parser tracing for HqlSqlWalker and SqlGenerator (tree parsers)
+ * [HHH-3753] - Upgrade to SLF4J version 1.5.8
+ * [HHH-3832] - Upgrade to cglib-2.2.jar
+ * [HHH-3886] - Update database credentials for QA Lab
+ * [HHH-3944] - Document known database portability strategies
+ * [HHH-3978] - Expose Hibernate version via non-compile-time constant expression
+ * [HHH-3982] - Apply build version to org.hibernate.Version
+
+** New Feature
+ * [HHH-3343] - Postgres Plus Dialect
+ * [HHH-3781] - Echo version information to the console in main()
+
+** Patch
+ * [HHH-530] - Allow application of filters on subqueries
+ * [HHH-2933] - allow custom resolution of Dialect (Tomoto Shimizu Washio)
+ * [HHH-3401] - H2 Database Dialect Fixes
+ * [HHH-3450] - Include SingletonEhCacheProvider as an additional caching provider (Greg Luck)
+ * [HHH-3639] - Sybase keywords - rename columns
+ * [HHH-3649] - DB2Dialect inherits supportsPooledSequences() as false, but it does support
+ * [HHH-3650] - TableGenerator doesn't marks the "primary key" as not null, causing errors in some RDBMS's which expects the PK to be not-null
+ * [HHH-3742] - Documentation corrections
+
+** Task
+ * [HHH-3214] - Update unit tests and config files to use non-depracated Oracle dialects
+ * [HHH-3760] - Document EntityNameResolver
+ * [HHH-3761] - Document DialectResolver
+ * [HHH-3953] - Update tutorial chapter
+ * [HHH-3979] - Upgrade to javassist 3.9.0
+ * [HHH-3981] - Upgrade to jDocBook 2.2.0
+ * [HHH-3986] - Upgrade to JBossCache 3.1.0 (3.3 branch)
+ * [HHH-3987] - prep 3.3.2 release
+
+
+Changes in version 3.3.1.GA (2008.09.10)
+-------------------------------------------
+
+** Bug
+ * [HHH-2694] - create-drop with c3p0 causes SQLException
+ * [HHH-3231] - org.hibernate.id.enhanced.TableGenerator throws "IllegalArgumentException: alias not found: tbl" under Oracle
+ * [HHH-3392] - Query Cache entries are not distributable
+ * [HHH-3472] - JTASessionContext broken for WebSphere
+
+** Improvement
+ * [HHH-2686] - Include a primary key in the sequence table used by id.enhanced.TableGenerator
+ * [HHH-3249] - Make o.h.id.enhanced.TableGenerator more extension-friendly
+ * [HHH-3424] - concat() with param binding fails function on derby
+ * [HHH-3454] - Allow enhanced.TableGenerator to segment itself per entity as default
+ * [HHH-3456] - Make o.h.id.enhanced.SequenceStyleGenerator more extension-friendly
+ * [HHH-3471] - Provide true-false type that maps to int values
+
+** Task
+ * [HHH-3474] - Upgrade to use slf4j 1.5 (1.5.2)
+
+
+Changes in version 3.3.0.SP1 (2008.08.19)
+-------------------------------------------
+
+** Bug
+ * [HHH-3437] - re-add incorrectly removed public getSource() methods on events
+
+
+Changes in version 3.3.0.GA (2008.08.13)
+-------------------------------------------
+
+** Bug
+ * [HHH-2021] - org.hibernate.cache.QueryKey has a fragile equals() method
+ * [HHH-3333] - build Wiki has a typo and includes a lie re:jdk version
+ * [HHH-3378] - DB2CustomSQLTest fails, need "RESULT SETS 1" in proc definitions
+ * [HHH-3430] - distribution bundles cglib directly instead of the hibernate repackaging
+
+** Improvement
+ * [HHH-2926] - All *Event must inherit AbstractEvent
+ * [HHH-3247] - Provide more information in TypeMismatchException message
+
+
+
+Changes in version 3.3.0.CR2 (2008.07.31)
+-------------------------------------------
+
+** Bug
+ * [HHH-1697] - OracleDialect fails to recognize sequence accessible through syonyms when validating schema
+ * [HHH-2604] - Isolator.JdbcDelegate masks the exception if it isn't possible to open a connection.
+ * [HHH-2683] - "datediff" is declared as NoArgSQLFunction in H2Dialect, but actually accepts 3 arguments.
+ * [HHH-3006] - ConcurrentModificationException in AbstractBatcher results in infinite loop
+ * [HHH-3229] - Merge can fail when there is a transient entity reachable by multiple paths and at least one path does not cascade on merge
+ * [HHH-3257] - Content images not displayed
+ * [HHH-3260] - Hibernate wraps a listener init or destroy exception into an AssertionFailure
+ * [HHH-3261] - Do not wrap exceptions raised by event listeners (at init or destroy time)
+ * [HHH-3265] - change license url in pom to http://www.gnu.org/licenses/lgpl-2.1.html
+ * [HHH-3266] - distribution bundle missing jta dependency
+ * [HHH-3272] - using of Integer.valueOf(int), which is not available in JDK 1.4
+ * [HHH-3282] - DB2Dialect should report supportsLobValueChangePropogation() == false
+ * [HHH-3309] - Serialize/Deserialize problem in AbstractLazyInitializer with entitymode.MAP.
+ * [HHH-3409] - ResultTransformers need smarter equals() and hashCode() impls
+
+** Improvement
+ * [HHH-1786] - JTASessionContext.CleanupSynch does not remove sessions from currentSessionMap
+ * [HHH-2060] - To be able to use <generator> with <composite-id>
+ * [HHH-2506] - Make javassist the default ByteCodeProvider
+ * [HHH-2875] - repackage cglib/asm under org.hibernate namespace
+ * [HHH-3269] - upgrade to jDocBook plugin version 2.1.1
+ * [HHH-3283] - protect BulkManipulationTest#testInsertWithGeneratedTimestampVersion where Dialect#supportsParametersInInsertSelect == false
+ * [HHH-3358] - Enable JTATransactionFactory and JTATransaction factory to work without JNDI
+ * [HHH-3390] - Use READ_COMMITTED for JBC 2 cache
+
+** Patch
+ * [HHH-3294] - Version incorrectly incremented for unchanged persistent entity that is parent of a one to many relationship
+
+** Task
+ * [HHH-3270] - follow up on documentation license questions
+
+
+
+Changes in version 3.3.0.CR1 (2008.04.28)
+-------------------------------------------
+
+** Bug
+ * [HHH-1312] - Unclosed ResultSet when using Identity
+ * [HHH-1396] - Table.validateColumns fails on valid column
+ * [HHH-1569] - Immutable Natural Id check fails with ArrayIndexOutOfBounds in some cases
+ * [HHH-1593] - Infinite loop/StackOverflow when calling configuration.setListener(null)
+ * [HHH-1753] - DB2Dialect.getCurrentTimestampSQLFunctionName() uses Oracle syntax
+ * [HHH-1916] - param values in generator element should be trimmed during HbmBinding
+ * [HHH-1920] - Incorrect documentation regarding XML manipulation in Hibernate reference manual (chapter 18.3).
+ * [HHH-1956] - Interceptor.afterTransactionCompletion not called with JTATransaction (CacheSynchronization.hibernateTransaction not set)
+ * [HHH-2159] - NullPointerException in FromElement#findIntendedAliasedFromElementBasedOnCrazyJPARequirements with 'hibernate.query.jpaql_strict_compliance' enabled
+ * [HHH-2164] - Minor bug in section "20.1.1. Customizing the schema"
+ * [HHH-2200] - Memory leak in AbstractBatcher with Generated Properties
+ * [HHH-2320] - Regression: optional properties under a <join> tag no longer update properly
+ * [HHH-2503] - AbstractEntityPersister swallows JDBCExceptions in processGeneratedProperties
+ * [HHH-2513] - Abusive WARN logged during deserialization of replicated SessionFactory
+ * [HHH-2542] - NullPointerException in TypeFactory.replaceAssociations for ComponentType
+ * [HHH-2553] - New LoadContexts Implementation causing possible performance degradation
+ * [HHH-2593] - Keyword UNION is prefixed with "this_." in filter conditions
+ * [HHH-2616] - No event is fired on Collection recreate/remove/update action
+ * [HHH-2627] - Generated properties leak prepared statements in Hibernate 3.2.3 and higher.
+ * [HHH-2631] - Leaking PreparedStatement and ResultSet via CollectionLoadContext instances maintained in Map collectionLoadContexts in LoadContexts
+ * [HHH-2711] - PropertyAccessException with backref and <composite-map-key/>
+ * [HHH-2726] - spelling o your CLASSPATH
+ * [HHH-2728] - Calling session.clear() while retrieving objects via an iterator will cause a "LazyInitializationException - No Session" by the CGLIBLazyInitializer
+ * [HHH-2788] - Oracl8iDialect No Dialect mapping for JDBC type 91
+ * [HHH-2795] - CollectionLoadContexts for empy collections are not removed until PersistenceContext.clear()
+ * [HHH-2816] - DefaultFlushEntityEventListener.checkNaturalId() causes extra SELECTs on read-only entities
+ * [HHH-2833] - insert-select query fails with NPE when select includes join
+ * [HHH-2857] - schemaSupport for HSQLDialect remote connections doesn't work
+ * [HHH-2861] - cascade="delete-orphan,all" is ignored
+ * [HHH-2863] - testsuite fix-ups for maven and/or directory changes
+ * [HHH-2864] - Merging a detached instance with a new child in a unidirectional one-to-many association fails if the parent was previously loaded as a proxy
+ * [HHH-2892] - skip up-to-date checks of query cache for natural-id only if immutable
+ * [HHH-2928] - optimizers for enhanced id generators should be synchronized against multi-threaded access
+ * [HHH-2948] - QueryStatistics.executionMinTime always = 0
+ * [HHH-3111] - WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.getStatus() implemented incorrect
+ * [HHH-3140] - Region prefix ignored for entities and collections
+
+** Deprecation
+ * [HHH-2755] - Wrong "jsdk.jar" referenced in the tutorial
+
+** Improvement
+ * [HHH-1786] - JTASessionContext.CleanupSynch does not remove sessions from currentSessionMap
+ * [HHH-2048] - Incomplete MappingException at org.hibernate.mapping.SimpleValue
+ * [HHH-2156] - Section 19.3, "Managing the caches" doesn't document CacheMode.IGNORE
+ * [HHH-2533] - redesign Cache/CacheProviders
+ * [HHH-2662] - Workaround PostgreSQL issues in testsuite
+ * [HHH-2663] - Map java.sql.Types.REAL to Hibernate FloatType for auto-discovery stuff
+ * [HHH-2665] - Split Oracle9Dialect into Oracle9iDialect and Oracle10gDialect
+ * [HHH-2669] - Unequivocally map MySQL LOB types to the LONG variant
+ * [HHH-2682] - support for auto-discovery of H2 dialect
+ * [HHH-2696] - Consider migrating to slf4j
+ * [HHH-2761] - Handle null and empty string consistently in PropertiesHelper
+ * [HHH-2778] - TransactionManagerLookup implementation for Bitronix Transaction Manager
+ * [HHH-2789] - Section 19.2 of the documentation does not show OSCache as supporting clusters. It does.
+ * [HHH-2822] - timestamp extraction functions for SAPDBDialect
+ * [HHH-2826] - IS [NOT] NULL checks with component values
+ * [HHH-2859] - Introduce a 'Work' API for user to perform JDBC work
+ * [HHH-3131] - Add a method to ActionQueue to tell whether there are currently entries in the executions collection
+
+** New Feature
+ * [HHH-1] - Optimize Hibernate for the bulk insertion of related entities
+ * [HHH-2555] - Create new RegionFactory for JBossCache
+ * [HHH-2884] - Provide a sessionFactory close event or hook for the event listeners
+
+** Patch
+ * [HHH-952] - Patch to allow subqueries with joins using Criteria API and Subqueries with DetachedCriteria
+ * [HHH-2070] - Expand DB2Dialect auto-discovery support (Martin Renner)
+ * [HHH-2519] - Schema dropping not documented with hibernate.hbm2ddl.auto=create
+ * [HHH-2630] - Hibernate Dialect is not auto-detected for Sybase ASE and DB2 (Shelley McGowan)
+ * [HHH-2758] - Patch IngresDialect based on certification
+ * [HHH-2839] - Don't use dummy dual table for hsqldb (David Bala?ic)
+ * [HHH-2849] - Better error logging in IdentifierGeneratorFactory (Antony Stubbs)
+ * [HHH-2957] - ActionQueue Insertion sort performance degrades exponentially (Jay Erb)
+ * [HHH-3084] - DialectFactory detection of Ingres metadata (Michael Leo)
+
+** Task
+ * [HHH-2702] - Officially move to JDK 1.4
+ * [HHH-2704] - Migrate to Maven2 for build
+
+
+Changes in version 3.2.6 (2008.02.07)
+-------------------------------------------
+
+** Bug
+ * [HHH-925] - DetachedCriteria.createCriteria not working with alias
+ * [HHH-1312] - Unclosed ResultSet when using Identity
+ * [HHH-1329] - SchemaValidator fail when views are involved
+ * [HHH-1593] - Infinite loop/StackOverflow when calling configuration.setListener(null)
+ * [HHH-1685] - DetachedCriteria doesn't create alias on subcriteria
+ * [HHH-1753] - DB2Dialect.getCurrentTimestampSQLFunctionName() uses Oracle syntax
+ * [HHH-1916] - param values in generator element should be trimmed during HbmBinding
+ * [HHH-1956] - Interceptor.afterTransactionCompletion not called with JTATransaction (CacheSynchronization.hibernateTransaction not set)
+ * [HHH-2016] - Oracle9Dialect registers last_day() function as "lastday"
+ * [HHH-2159] - NullPointerException in FromElement#findIntendedAliasedFromElementBasedOnCrazyJPARequirements with 'hibernate.query.jpaql_strict_compliance' enabled
+ * [HHH-2200] - Memory leak in AbstractBatcher with Generated Properties
+ * [HHH-2261] - Setting hibernate.hbm2ddl.auto=validate causes problems on mySQL with numeric fields
+ * [HHH-2320] - Regression: optional properties under a <join> tag no longer update properly
+ * [HHH-2503] - AbstractEntityPersister swallows JDBCExceptions in processGeneratedProperties
+ * [HHH-2542] - NullPointerException in TypeFactory.replaceAssociations for ComponentType
+ * [HHH-2593] - Keyword UNION is prefixed with "this_." in filter conditions
+ * [HHH-2598] - Mapping a collection of entities from two different classes with the same collection name results in duplicate backref property exception if collection keys are not null
+ * [HHH-2616] - No event is fired on Collection recreate/remove/update action
+ * [HHH-2627] - Generated properties leak prepared statements in Hibernate 3.2.3 and higher.
+ * [HHH-2728] - Calling session.clear() while retrieving objects via an iterator will cause a "LazyInitializationException - No Session" by the CGLIBLazyInitializer
+ * [HHH-2788] - Oracl8iDialect No Dialect mapping for JDBC type 91
+ * [HHH-2795] - CollectionLoadContexts for empy collections are not removed until PersistenceContext.clear()
+ * [HHH-2816] - DefaultFlushEntityEventListener.checkNaturalId() causes extra SELECTs on read-only entities
+ * [HHH-2833] - insert-select query fails with NPE when select includes join
+ * [HHH-2857] - schemaSupport for HSQLDialect remote connections doesn't work
+ * [HHH-2861] - cascade="delete-orphan,all" is ignored
+ * [HHH-2864] - Merging a detached instance with a new child in a unidirectional one-to-many association fails if the parent was previously loaded as a proxy
+ * [HHH-2892] - skip up-to-date checks of query cache for natural-id only if immutable
+ * [HHH-2928] - optimizers for enhanced id generators should be synchronized against multi-threaded access
+ * [HHH-2948] - QueryStatistics.executionMinTime always = 0
+
+** Improvement
+ * [HHH-1630] - duplicate property mapping - more details
+ * [HHH-1696] - Add outer join support for aliases on DetachedCriteria
+ * [HHH-2048] - Incomplete MappingException at org.hibernate.mapping.SimpleValue
+ * [HHH-2682] - support for auto-discovery of H2 dialect
+ * [HHH-2761] - Handle null and empty string consistently in PropertiesHelper
+ * [HHH-2822] - timestamp extraction functions for SAPDBDialect
+ * [HHH-2826] - IS [NOT] NULL checks with component values
+ * [HHH-2852] - Better error messages when schema validation fails
+
+** Patch
+ * [HHH-952] - Patch to allow subqueries with joins using Criteria API and Subqueries with DetachedCriteria
+ * [HHH-2070] - Expand DB2Dialect auto-discovery support (Martin Renner)
+ * [HHH-2839] - Don't use dummy dual table for hsqldb (David Bala?ic)
+ * [HHH-2849] - Better error logging in IdentifierGeneratorFactory (Antony Stubbs)
+ * [HHH-2957] - ActionQueue Insertion sort performance degrades exponentially (Jay Erb)
+ * [HHH-3084] - DialectFactory detection of Ingres metadata (Michael Leo)
+
+** Task
+ * [HHH-2559] - http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd needs to be updated
+ * [HHH-3085] - Remove connector.jar (unnecessary library)
+ * [HHH-3086] - Remove jdbc2_0-stdext.jar (unnecessary library)
+
+
+Changes in version 3.2.5 (2007.07.31)
+-------------------------------------------
+
+** Bug
+ * [HHH-1116] - batch-size typo
+ * [HHH-1561] - Missing " in Documentation for H3, Chapter 15.8
+ * [HHH-1569] - Immutable Natural Id check fails with ArrayIndexOutOfBounds in some cases
+ * [HHH-1694] - Documentation Outdated: "10.4.4. Queries in native SQL"
+ * [HHH-2180] - minordocumentation error in hbm xml
+ * [HHH-2201] - session.iterate() does not exist
+ * [HHH-2267] - A copy/paste mistake in the documentation for <schemavalidator> ant task
+ * [HHH-2334] - Documentation error in section 5.1.3
+ * [HHH-2420] - Error in 2.5. Contextual Sessions
+ * [HHH-2502] - The second level caching documentation states that ehcache is not distributed.
+ * [HHH-2631] - Leaking PreparedStatement and ResultSet via CollectionLoadContext instances maintained in Map collectionLoadContexts in LoadContexts
+ * [HHH-2649] - Batcher configuration parameter incorrectly documented
+ * [HHH-2711] - PropertyAccessException with backref and <composite-map-key/>
+ * [HHH-2713] - duplicated phrase in docs "of the of the"
+ * [HHH-2714] - Three typos in code examples
+ * [HHH-2719] - adddress --> address
+ * [HHH-2720] - Monetory --> Monetary
+
+** Improvement
+ * [HHH-1022] - incomplete documentation in _README.txt in the lib directory
+ * [HHH-1682] - Improve the description of differences between save() and persist()
+ * [HHH-2048] - Incomplete MappingException at org.hibernate.mapping.SimpleValue
+ * [HHH-2417] - Update book on Hibernate reference
+ * [HHH-2418] - Refer HSQL DB website in chapter 1.2.3
+ * [HHH-2487] - Typo in "5.1.7. version (optional)"
+ * [HHH-2550] - Update API Class in 10.4.3. Criteria queries
+ * [HHH-2662] - Workaround PostgreSQL issues in testsuite
+ * [HHH-2663] - Map java.sql.Types.REAL to Hibernate FloatType for auto-discovery stuff
+ * [HHH-2665] - Split Oracle9Dialect into Oracle9iDialect and Oracle10gDialect
+
+** Patch
+ * [HHH-2520] - Miscellaneous config doc spelling fixes
+ * [HHH-2630] - Hibernate Dialect is not auto-detected for Sybase ASE and DB2 (Shelley McGowan)
+ * [HHH-2758] - Patch IngresDialect based on certification
+
+** Task
+ * [HHH-2551] - Deprecate org.hibernate.criterion.Expression
+ * [HHH-2566] - Replace usages of FlushMode.NEVER with FlushMode.MANUAL
+ * [HHH-2567] - Update reference to use FlushMode.MANUAL
+ * [HHH-2568] - Hibernate javadoc overview refering wrong classes and packages
+
+
+Changes in version 3.2.4.sp1 (2007.05.18)
+-------------------------------------------
+
+** Bug
+ * [HHH-2605] - Since 3.2.4 no value specified for row id
+ * [HHH-2613] - LockMode.FORCE on non versioned entity leads to NPE
+
+
+Changes in version 3.2.4 (2007.05.09)
+-------------------------------------------
+
+** Bug
+ * [HHH-511] - reattach object from same session
+ * [HHH-2316] - org.hibernate.cache.CacheKey.equals() can cause PropertyAccessException to be thrown
+ * [HHH-2553] - New LoadContexts Implementation causing possible performance degradation
+ * [HHH-2602] - instrumented many-to-one problem with aggressive release
+
+** Deprecation
+ * [HHH-2603] - Deprecate the Session.connection() method
+
+** Improvement
+ * [HHH-2549] - Warn users explicitly about schemaexport and schemaupdate does not support annotations
+
+** New Feature
+ * [HHH-1] - Optimize Hibernate for the bulk insertion of related entities
+
+** Patch
+ * [HHH-2301] - Identity generator with custom insert SQL broken in 3.2 (Scott Rankin and Gail Badner)
+ * [HHH-2336] - paremeterizable and typedef-able UserCollectionType (Holger Brands)
+ * [HHH-2580] - Performace: Too many lookups of WAS extended transaction support (Jesper Udby)
+
+
+Changes in version 3.2.3 (2007.04.02)
+-------------------------------------------
+
+** Bug
+ * [HHH-2376] - Query with fully qualified entity class fails
+ * [HHH-2392] - LockModes referencing non-root joined-subclass class in HQL/Criteria
+ * [HHH-2393] - Generated properties leave open ResultSet on Batcher to be closed on transaction completion
+ * [HHH-2397] - hilo generator can generate negative numbers because of arithmetic overflow
+ * [HHH-2469] - ArrayIndexOutOfBoundsException during update by rowid
+ * [HHH-2476] - PersistentMap.put() incorrect on uninitialized, non-extra-lazy map
+ * [HHH-2481] - Big memory leak in the use of CGLIB
+ * [HHH-2499] - incorrect assertion failure relating to generated property values
+ * [HHH-2513] - Abusive WARN logged during deserialization of replicated SessionFactory
+ * [HHH-2521] - Fix cascading of merge across component properties
+ * [HHH-2532] - update/delete executeUpdate() causes problems with JBossCache (at least in opt-locking setups)
+
+** Improvement
+ * [HHH-2495] - encapsulate the notion of state pertaining to processing a result set
+ * [HHH-2534] - better error message for illegal 'collection dereference' in HQL query
+ * [HHH-2535] - Change Cache' Cache71Dialect so that sequence support returns false
+
+** New Feature
+ * [HHH-2471] - create a set of "enhanced" generators
+ * [HHH-2500] - apply Terradata certification results
+
+** Patch
+ * [HHH-2367] - InformixDialect uses wrong data type
+ * [HHH-2489] - SQL comments for HQL bulk operations
+
+
+Changes in version 3.2.2 (2007.01.24)
+-------------------------------------------
+
+** Bug
+ * [HHH-1471] - If the 'generated' attribute is set to 'insert' or 'always' on the property of a component it is ignored and the value is not read from the database.
+ * [HHH-1646] - Bad code in FastClass.equals
+ * [HHH-1889] - LockMode.UPGRADE not applied in all cases for SQL Server / Sybase
+ * [HHH-2112] - ClassCastException in StatefulPersistenceContext.getCachedDatabaseSnapshot(...)
+ * [HHH-2221] - MySQL temp table DDL and isolation
+ * [HHH-2238] - SQLQuery executeUpdate doesn't respect Query.setFlushMode()
+ * [HHH-2251] - Settings build unnecessary in schemaupdate/schemavalidate
+ * [HHH-2257] - Query.iterate() results differ from Query.list() 2
+ * [HHH-2259] - autoflush and autoclose not longer occur in JTA environment with hibernate 3.2
+ * [HHH-2264] - NPE when NamedQuery contains space before variable name
+ * [HHH-2274] - Collection ordering when many to many order by is used is not respected
+ * [HHH-2275] - Mapping a composite element as a map key using formulas can lead to AOOBE
+ * [HHH-2284] - HQL: selecting components inside components doesn't work
+ * [HHH-2291] - collection based on property-ref not handled correctly during reattch
+ * [HHH-2292] - merge detached instance fails to persist collection changes in case of bare collection reference
+ * [HHH-2356] - NullableType.toString(Object) should account for nulls
+ * [HHH-2366] - Changing a component's value does not trigger an update during flush
+ * [HHH-2378] - replicate() of non-versioned entiy can result in wrong value for version in entity cache
+
+** Improvement
+ * [HHH-1851] - relax special handling of 'id' property
+ * [HHH-2130] - SQLQuery does not autoflush all entities used in the query
+ * [HHH-2193] - Introduce a flag to avoid checking NamedQuery at startup
+ * [HHH-2242] - Consider Allowing Optimistic Lock Strategies other than 'Version' with joined-subclass
+ * [HHH-2250] - Create an appropriate error message if Query.setEntity is passed a NULL value
+ * [HHH-2282] - PersistentClass property lookups do not properly account for embedded composite identifiers
+ * [HHH-2286] - dialect informational metadata
+ * [HHH-2372] - Allow tooling to create Settings via SettingsFactory without contacting the db
+
+** New Feature
+ * [HHH-2246] - No way to specify CACHE_PROVIDER_CONFIG in HibernateServiceMBean
+
+** Patch
+ * [HHH-2300] - Updated dialect for H2 database engine
+ * [HHH-2371] - enhancements to C3P0ConnectionProvider
+
+** Task
+ * [HHH-2032] - update c3p0 to 0.9.1
+
+
+
+Changes in version 3.2.1 (2006.11.16)
+-------------------------------------------
+
+** Bug
+ * [HHH-939] - 'class' property in HQL results in incorrect SQL for joined-subclass
+ * [HHH-1401] - session.merge() executes unnecessary updates when one-to-many relationship is defined.
+ * [HHH-1460] - Inconsistent behavior when using Session.get() with multiple subclasses
+ * [HHH-1564] - deleting versioned object with collection leads to unecessary update
+ * [HHH-1629] - SchemaUpdate/validator doesn't listen to quoting
+ * [HHH-1631] - Missing table in SQL from clause that is referenced in where clause when using joined subclass
+ * [HHH-1651] - hibernate does not find an existing sequence from an Oracle database
+ * [HHH-1663] - <any/> with collection will produce "AssertionFailure: collection was not processed by flush()"
+ * [HHH-1737] - Add a ConnectionWrapper interface to allow access to the underlying connection from a BorrowedConnectionProxy
+ * [HHH-1756] - Proxy objects are not removed from the BatchFetchQueue during a session evict
+ * [HHH-1774] - Component parameters bound incorrectly
+ * [HHH-1921] - "dirty, but no dirty properties" thrown when Interceptor resets properties.
+ * [HHH-1986] - javassist throws InvocationTargetException instead of original checked Exception
+ * [HHH-2027] - merge listener over-writes Interceptor changes to component state for a transient entity
+ * [HHH-2044] - DefaultMergeEventListener.entityIsDetached call StaleObjectStateException with wrong identifier
+ * [HHH-2082] - UpdateTimestampsCache.isUpToDate returns before checking all spaces
+ * [HHH-2108] - cacheable files broken
+ * [HHH-2138] - merge with bidirectional one-to-one may fail
+ * [HHH-2145] - set.retainAll calling set.addAll
+ * [HHH-2174] - Wrong log message in SessionImpl.afterTransactionCompletion(...)
+ * [HHH-2199] - Unique constraints on nullable columns should not be generated with unique-key is used and supportsNotNullUnique=false
+ * [HHH-2202] - Clearing the connection warnings even when log is > WARN to workaround a Sybase issue
+ * [HHH-2206] - SessionImpl tries to deserialize itself in an incorrect order
+ * [HHH-2207] - Suggested fix for HQL - MySQL setMaxResults issue
+ * [HHH-2226] - org.hibernate.hql.ast.tree.FromElementType contains warning log message that should be debug instead
+ * [HHH-2229] - Performance issue with fix for HHH-1293, CGLIBLazyInitializer may be slower for certain Java classes
+ * [HHH-2236] - Lazy property + setReadOnly + Instrumented classes results in NullPointerException when accessing lazy property
+
+** Improvement
+ * [HHH-2037] - provide Query.setProperties(Map)
+ * [HHH-2042] - Typo in FlushMode.MANUAL Javadoc
+ * [HHH-2057] - Add "remove" cascading style to CascadeStyle for XML mappings
+ * [HHH-2127] - Document <filter-def condition="defaultCondition"> and <filter-def>defaultCondition
+ * [HHH-2135] - Hibernate Deserialization: In org.hibernate.type.SerializableType the code makes a test for the return of a null object by simply testing the object as to whether or not it is null.
+ * [HHH-2185] - introduce setting to control cglib caching of classes
+ * [HHH-2203] - Make Post*Events extend AbstractEvent
+ * [HHH-2208] - Table schema use in DatabaseMetadata
+ * [HHH-2209] - ehcache.jar is old and does not contain the SingletonCacheProvider which are advised in exception messages
+ * [HHH-2217] - Collection write methods and dirtying the collection
+
+** New Feature
+ * [HHH-2205] - Dialect for Intersystems' Cache SQL 2007.1
+
+** Patch
+ * [HHH-1767] - read-only cache for immutable collection causes unnecessary warning
+
+** Task
+ * [HHH-2219] - Upgrade to Javassist 3.4
+
+
+Changes in version 3.2.0.ga (16.10.2006)
+-----------------------------------------
+(retag of 3.2.0.cr5 (2006.10.16))
+
+Changes in version 3.2.0.cr5 (04.10.2006)
+-------------------------------------------
+
+** Bug
+ * [HHH-1668] - PersistentSet write methods mark collection as dirty even if entry is not written
+ * [HHH-1714] - Session.get() behavior
+ * [HHH-1891] - Since rc3 deprecation Warning: The syntax 'TYPE=storage_engine' is deprecated and will be removed in MySQL 5.2.
+
+** Improvement
+ * [HHH-2093] - PERSIST_ON_FLUSH ineffective for recursive object graphs
+ * [HHH-2103] - Rolling back 'SELECT is mandatory' on JPA strict compliance
+
+** Task
+ * [HHH-1931] - verify that the instrument tasks actually work
+
+
+Changes in version 3.2.0.cr4 (24.08.2006)
+-------------------------------------------
+
+** Bug
+ * [HHH-1293] - java.lang.NoSuchMethodError: <persistent class>.getHibernateLazyInitializer()
+ * [HHH-1677] - optimistic-lock="dirty|all" is ignored at delete time
+ * [HHH-1710] - persistent collections with property-ref to secondary tables cannot be joined in HQL
+ * [HHH-1713] - AbstractEntityPersister causes an exception when a row in a joined table is missing with fetch="select"
+ * [HHH-1740] - Build-time instrumentation breaks lazy="proxy"
+ * [HHH-1750] - Exception ORA-01000 too many open cursors by generated="insert"
+ * [HHH-1806] - No Dialect mapping for JDBC type: 3
+ * [HHH-1848] - A session.lock generates a query with a version column in a joined subclass which does not exist
+ * [HHH-1892] - finish HHH-1789 for ordered and sorted collections
+ * [HHH-1898] - With hibernate 3.2.0-cr3 there is an hql parsing error on a one-to-one relation
+ * [HHH-1924] - ForeignKeys: TransientObjectException is thrown without a message because of a wrong bracket in the code
+ * [HHH-1927] - persist() and then merge() not handled correctly for multiple entity instances representing the same logical state
+ * [HHH-1937] - Proxy creation failure leads to NPEs
+ * [HHH-1943] - PersistenceContext not checked to see whether the associated entity is transient or not
+ * [HHH-1944] - generated subqueries and jpaql compliance (derived select clause) check
+ * [HHH-1947] - OF part of MEMBER OF is optional
+ * [HHH-1948] - Query Idetification variables are case insensitive in JPA
+ * [HHH-1949] - having trim(BOTH from c.name) translated into having ltrim(rtrim(BOTH)) on DB2
+ * [HHH-1954] - Proxies are never unassociated (evicted) from a session
+ * [HHH-1958] - session.lock(LockMode.FORCE) can lead to NPE
+ * [HHH-1963] - meta inheritance broken
+ * [HHH-1992] - Some cascade actions should not trigger a property access on lazy properties
+ * [HHH-2001] - javaassist does not setup the proper protection domain thus does not work with signed/secured deployments such as webstart
+ * [HHH-2015] - where= does not set parenthesis leading to unexpected query when multiclause are used
+ * [HHH-2017] - locate function defined on Oracle9Dialect is incorrect
+ * [HHH-2022] - property names beginning with underscores cause Hibernate to generate invalid aliases
+
+** Improvement
+ * [HHH-1470] - Enhance Hibernate-Mapping DTD Definition of type element
+ * [HHH-1934] - logging NonUniqueObjectException and WrongClassException
+ * [HHH-1941] - Be more specific about x not found and invalid mapping exceptions to allow tools to tell about it
+ * [HHH-1968] - unify bytecode instrumentation
+ * [HHH-1980] - disallow the mapping combination of <version/> and optimistic-lock
+ * [HHH-2005] - more standard build script
+ * [HHH-2023] - performance optimization of JTATransactionFactory.isTransactionInProgress()
+
+** Patch
+ * [HHH-1271] - When using Stored Procedure for update or delete, the check is not done correctly.
+
+** Task
+ * [HHH-1931] - verify that the instrument tasks actually work
+
+
+Chages in version 3.2 cr3 (2006.07.06)
+-------------------------------------------
+
+** Bug
+ * [HHH-1452] - Native SQL query is missing join if entity includes many-to-one on secondary table
+ * [HHH-1507] - one-to-one can have formula or meta but not both of them.
+ * [HHH-1552] - Error when using ?1 and parameterList
+ * [HHH-1586] - ClassCastException in CollectionType.toLoggableString if using CustomCollectionType
+ * [HHH-1732] - EhCache.toMap still assumes Serializable objects
+ * [HHH-1734] - Connection leak when using hilo strategy in SE environment
+ * [HHH-1741] - Bug in reference documentation
+ * [HHH-1746] - NullPointerException at IdentNode.resolveAsNakedComponentPropertyRefLHS(IdentNode.java:195
+ * [HHH-1748] - Setting a comment that contains a single quote on a query results in an unintuitive exception
+ * [HHH-1763] - Bug in InputStream org.hibernate.util.ConfigHelper.getResourceAsStream(String resource)
+ * [HHH-1791] - property update="false" ignored since 3.2.0.cr2
+ * [HHH-1816] - serializing session from a named session factory to a different vm broken
+ * [HHH-1822] - flushing entity linked to transient instance (non cascaded) should always fail
+ * [HHH-1828] - registering a transaction marked for Rollback is illegal
+ * [HHH-1833] - Not Generating HibernateException
+ * [HHH-1838] - Wrong SQL generated for hql query on "any" relation
+ * [HHH-1855] - booleans not properly handled in assignment clause of UPDATE statements
+ * [HHH-1858] - wrong sql generated against many-to-any association table
+ * [HHH-1871] - query type autodiscovery assume wrong column when mixing entities and scalars
+
+** Deprecation
+ * [HHH-1792] - Callable update/insert/delete statements should not force rowcount out parameter
+
+** Improvement
+ * [HHH-1617] - Check the second-level cache before adding a PK to a batch fetch
+ * [HHH-1773] - Typo in ImprovedNamingStrategy
+ * [HHH-1779] - Allow Session.remove() on transient object
+ * [HHH-1789] - improve efficiency of collection initialization from L2 cache hits
+ * [HHH-1795] - default cache provider to NoCacheProvider
+ * [HHH-1796] - TreeCache based providers and Fqn
+ * [HHH-1800] - session.get() / load() should raise exception when the id is of the wrong type
+ * [HHH-1818] - remove() should force subsequent contains() calls to return false
+ * [HHH-1831] - Batch loading the same EntityKey (one side of manytoone ) more than once
+ * [HHH-1861] - More complete component handling in HQL
+ * [HHH-1881] - introduce LoggableUserType interface
+
+** New Feature
+ * [HHH-1709] - Be able to raise ENFE rather than LIE in proxies
+ * [HHH-1727] - Add a SQLFunctionRegistry
+ * [HHH-1817] - Introduce setting for JPA-QL strict compliance
+ * [HHH-1826] - Built-in type for char[] -> VARCHAR Byte[] and Character[]
+
+** Patch
+ * [HHH-1558] - Dialect for new database engine H2
+ * [HHH-1847] - QBE 'like' clause with backslashes don't work with MySQL
+
+** Task
+ * [HHH-1839] - rename FlushMode.NEVER -> FlushMode.MANUAL
+
+
+Changes in version 3.2 cr2 (2006.05.05)
+-------------------------------------------
+
+** Bug
+ * [HHH-1114] - The first (HSQL) Hibernate Application doesn't work as expected due to lack of database shutdown
+ * [HHH-1175] - Exception when loading inheritance mapping in single file
+ * [HHH-1560] - PropertiesHelper.resolvePlaceHolders() fails with non-String values in System properties
+ * [HHH-1620] - Errors on max_lo <=1 boundaries
+ * [HHH-1625] - Hibernate.isPropertyInitialized() returns false on instrumented transient object
+ * [HHH-1648] - Exception while resuming a transaction is silently eaten
+ * [HHH-1674] - Configuration serialization error: filterDefinitions map not serializable
+ * [HHH-1695] - subsequent calls to non-existent proxy causes NPE
+
+** Improvement
+ * [HHH-1266] - StatelessSession can implement refresh
+ * [HHH-1414] - many-to-many and metadata order-by based on column from the target table
+ * [HHH-1477] - Improve naming strategy for ANN-195
+ * [HHH-1538] - aggregations functions in EJBQL queries does not return the appropriate types
+ * [HHH-1670] - Update EhCache and EhCache provider to support EhCache 1.2
+ * [HHH-1704] - Deduplicate unique constraints generation sharing the same column(s)
+
+** New Feature
+ * [HHH-870] - support SQL updates in named queries
+ * [HHH-1591] - Replace LazyInitializationException by EntityNotFoundException
+ * [HHH-1719] - Provide a ClassTransformer interface to the BytecodeProvider
+
+
+Changes in version 3.2 cr1 (2006.03.27)
+-------------------------------------------
+
+** Bug
+ * [HHH-1453] - Broken exception handling in NullableType
+
+** Improvement
+ * [HHH-227] - remove reflection optimizer
+ * [HHH-587] - Make ResultTransformer available for all query methods
+ * [HHH-1588] - delay inserts for insert-generated-identifiers outside transaction
+ * [HHH-1590] - redesign how PostInsertIdentifierGenerators are handled at insertion
+ * [HHH-1592] - allow SelectGenerator to use a defined natural-id (if one)
+
+** New Feature
+ * [HHH-332] - create ability to add resulttransformer to HQL query
+ * [HHH-1179] - support inline sequence id generation on Oracle using RETURNING clause
+
+
+Changes in version 3.2 alpha2 (2006.03.15)
+-------------------------------------------
+
+** Bug
+ * [HHH-535] - properties element causes exception in interface/abstract class
+ * [HHH-1325] - ArrayOutOfBounds expected in DatabaseMetadata.isTable when specifing schema
+ * [HHH-1435] - many-to-one lazy seems to be broken in 3.1.x
+ * [HHH-1531] - NPE with many-to-many and property-ref
+ * [HHH-1546] - generated version properties fail with multiple actions per flush
+
+** Improvement
+ * [HHH-1540] - Better Error Feedback In CollectionEntry.postFlush(PersistentCollection)
+ * [HHH-1555] - ConnectionReleaseMode.AFTER_STATEMENT and flushes
+ * [HHH-1559] - introduce TransactionFactory.isTransactionInProgress to facilitate EJB3 joinTransaction handling
+
+
+Changes in version 3.2 alpha1 (2006.02.28)
+-------------------------------------------
+
+** Bug
+ * [HHH-687] - Exception QuerySyntaxError not really serializable
+ * [HHH-1236] - Remove static reference to classloader, to avoid memory leak at webapp reload
+ * [HHH-1287] - Problem with WAS ExtendedJTATransaction not available when using MDB
+ * [HHH-1419] - Update + Exists doesn't seem to work
+ * [HHH-1445] - SchemaUpdate closes shared ConnectionProvider
+ * [HHH-1464] - QueryException from Query.getReturnAliases when query uses "fetch"
+ * [HHH-1486] - Concurrent access issues with both SoftLimitMRUCache and SimpleMRUCache
+ * [HHH-1508] - Session.createQuery() should not flush the session
+
+** Improvement
+ * [HHH-1411] - Collection fetches and DISTINCT
+ * [HHH-1412] - Collection fetches and firstResult/maxRows
+ * [HHH-1416] - LockMode.FORCE to implement EJB3 LockModeType.WRITE
+ * [HHH-1457] - support new optimisitc locking capabilities of JBossCache
+ * [HHH-1466] - better handling of Antlr exceptions
+ * [HHH-1516] - support DataDirect standard jdbc stored procedures
+ * [HHH-1518] - Guarentee LockMode behaviors
+ * [HHH-1520] - with clause with implied joins within an explicit join
+ * [HHH-1526] - Improved DTDEntityResolver
+
+** New Feature
+ * [HHH-1251] - Avoid replicating the clearing of TreeCache on SessionFactory..close()
+ * [HHH-1410] - FlushMode.AUTO -> COMMIT when outside a transaction
+ * [HHH-1447] - pluggable bytecode libraries
+
+
+Changes in version 3.1.2 (01.27.2006)
+-------------------------------------------
+
+** Bug
+ * [HHH-73] - Statistics for HQL queries use pre-processed query string
+ * [HHH-1306] - HQL parsing problem with join fetching of arrays/collections of values
+ * [HHH-1370] - Warning in hibernate-mapping-3.0.dtd
+ * [HHH-1371] - MappingException is thrown when the same column is referenced with different case
+ * [HHH-1386] - Numeric (long) literals not properly handled by HQL parser
+ * [HHH-1390] - Session.isOpen() throws exeception when the session is closed with ThreadLocalSessionContext
+ * [HHH-1391] - Invalid parameter index SQLException when using named parameters after positional parameters
+ * [HHH-1392] - Proxies cannot be serialized after session is closed
+ * [HHH-1398] - extends and entity-names broken with mapping-level package attribute
+ * [HHH-1407] - return-join broken for entity collections
+
+** Improvement
+ * [HHH-1364] - Defensive check of isClosed when obtaining a connection from ConnectionManager
+ * [HHH-1367] - warn level log "this operation breaks ==" may be disturbing
+
+** New Feature
+ * [HHH-1372] - Support for MySQL5 new varchar length
+
+** Patch
+ * [HHH-1005] - Criteria LEFT JOIN capability when adding Order to associations
+
+** Task
+ * [HHH-1373] - Document update versioned
+
+
+Changes in version 3.1.1 (01.13.2006)
+-------------------------------------------
+
+** Bug
+ * [HHH-853] - DML-style HQL queries and associations
+ * [HHH-1281] - FORWARD_ONLY ScrollableResults#next() throw GenericJDBCException
+ * [HHH-1286] - Set entity in HQL query without prefix -> incorrect SQL
+ * [HHH-1308] - Session.createFilter(...).iterate() results in bogus column names for result set extraction
+ * [HHH-1314] - float/double literals not sent to the database correctly
+ * [HHH-1316] - SchemaUpdate : java.sql.SQLException: You cannot commit during a managed transaction!
+ * [HHH-1328] - org.hibernate.util.SimpleMRUCache keeps a soft reference to the cache key, so cached values get collected prematurely
+ * [HHH-1336] - ForeignGenerator does not handle transient entities with an entity-name properly
+ * [HHH-1337] - Mapped <component> generated column names incorrect with ImprovedNamingStrategy
+ * [HHH-1349] - HQL delete statement problem due to oracle lacking table aliases in delete clause
+ * [HHH-1361] - creating temporary table for bulk delete will commit current transaction in managed environment such as J2EE
+
+** Improvement
+ * [HHH-1019] - Native SQL return-property mapping doesn't support dot-syntax in return-property for components
+ * [HHH-1290] - Defensive checking of session status
+ * [HHH-1302] - query.getReturnTypes inconsistent
+ * [HHH-1304] - better handling of borrowed connections in non-ON_CLOSE release semantics
+ * [HHH-1309] - schemaupdate does not handle TableHiLoGenerator
+ * [HHH-1339] - empty property name in mapping file gives imcomprehensible error message
+ * [HHH-1344] - ANSI-SQL trim function for SQLServer
+ * [HHH-1345] - ANSI-SQL mod function for SQLServer
+ * [HHH-1346] - ANSI-SQL bit_length function for SQLServer
+ * [HHH-1351] - <return-scalar name="blah"/> should be possible
+ * [HHH-1360] - set autodiscovery flag for SQLQueries when resultsetmappings are used
+
+
+Changes in version 3.1 (12.12.2005)
+-------------------------------------------
+
+** Bug
+ * [HHH-849] - Cartesian product + implicit joins
+ * [HHH-1065] - user provided connection not usable by default due to agressive release changes
+ * [HHH-1101] - associations join fetched in HQL without owner being selected
+ * [HHH-1133] - Comparators, defined for collections in mapping files, are not set
+ * [HHH-1149] - NPE flushing reattached entity w/ non-mutable natural-id
+ * [HHH-1170] - HQL 'cast' function doesn't work with MySQL 4 when casting to string
+ * [HHH-1187] - Cannot delete a object having a delete-orphan collection when user_rollback_id is set
+ * [HHH-1191] - HQL fails backward compatibility using classic translator
+ * [HHH-1194] - hql delete statements with joined-subclass hierarchies with a mapped where attribute at the root
+ * [HHH-1206] - Mappings.TableDescription is not serializable
+ * [HHH-1212] - mismatch in entity-modes defined in DTD and EntityMode class
+ * [HHH-1227] - ClassCastException on DOM4J replicate of Calendar property
+ * [HHH-1239] - BinaryArithmeticOperatorNode.getDataType() does not properly handle date/time arithmetic
+ * [HHH-1240] - Track connection leakage in JDBCContext.afterTransactionCompletion()
+ * [HHH-1245] - Calling the Session should register it with the current JTA txn.
+ * [HHH-1254] - Serialization of Sessions using JDBCTransactions with auto-flush/auto-close
+
+** New Feature
+ * [HHH-1222] - Autodiscover scalar types in native-sql
+ * [HHH-1243] - allow placeholders to system properties in config properties
+ * [HHH-1244] - Support for MySQL5 stored procedures
+ * [HHH-1260] - Configuration.mergeProperties()
+
+** Task
+ * [HHH-1066] - Upgrade CGLIB to fix proxy memory leak
+ * [HHH-1242] - upgrade ANTLR to 2.7.6rc1
+
+** Improvement
+ * [HHH-860] - insert ... select ... and version numbers
+ * [HHH-926] - TypeDef should be global
+ * [HHH-1138] - No ConstraintName when using PostgreSQL
+ * [HHH-1144] - Implement naming convention for temporary test failures
+ * [HHH-1153] - PropertiesHelper fails reading primitive values from hibernate-mapping when doc has whitespace
+ * [HHH-1182] - Access to filter metadata
+ * [HHH-1183] - Getting sql "plan" for DML operations
+ * [HHH-1197] - Support for HQL delete on MaxDB
+ * [HHH-1198] - post-insert event pass the entity wo the id field filled when the generator is identity
+ * [HHH-1213] - make JACC event listeners auto configurable (through initialize(Configuration))
+ * [HHH-1215] - Added support for LVARCHAR in InformixDialect
+ * [HHH-1218] - Add concat() function support to SAPDBDialect
+ * [HHH-1255] - ThreadLocalSessionContext and Session serialization
+
+** Patch
+ * [HHH-967] - executeUpdate on StatelessSession
+ * [HHH-1172] - Missing configuration templates for the new MimerSQLDialect
+
+** Deprecation
+ * [HHH-1229] - deprecate ability for entities to not define identifier properties
+
+
+Changes in version 3.1 rc3 (17.11.2005)
+-------------------------------------------
+
+** Bug
+ * [HHH-755] - Setter / Getter for property gDate are wrong
+ * [HHH-764] - XML mapping
+ * [HHH-1034] - The connection is closed *outside* the JTA transaction in TransactionHelper
+ * [HHH-1062] - java:comp/UserTransaction not correct for JBoss
+ * [HHH-1064] - Exception using JTATransaction in WebSphere 6
+ * [HHH-1069] - Unnecessary commas generated in select with left outer joins
+ * [HHH-1075] - New parser "not exists" command bug
+ * [HHH-1077] - Typo in docs: "equiped"
+ * [HHH-1080] - HQL delete fails on entities with where-fragments using operators other than '='
+ * [HHH-1081] - missing parens in example code for Criteria Associations
+ * [HHH-1084] - incorrect method name "sql" in Restrictions example, should be "sqlRestriction"
+ * [HHH-1091] - Can't write transparent CurrentSessionContext for BMT
+ * [HHH-1098] - Patch for build.sh to be able to build latest version on linux
+ * [HHH-1106] - HQL "not in" generatad wrong SQL
+ * [HHH-1111] - JDBCTransaction.rollback() results in a call to Interceptor.beforeTransactionCompletion()
+ * [HHH-1128] - Column alias clashes under certain circumstances
+ * [HHH-1146] - latest cvs(11/10/05) hibernate3 issue with classic query
+ * [HHH-1156] - StatefulPersistenceContext not serializable when property-ref is used
+ * [HHH-1160] - Incorrect use of getGeneratedKey() for Oracle
+
+** New Feature
+ * [HHH-449] - korean hibernate reference manual
+ * [HHH-1129] - use expected-type in 'untyped' Query.setParameter()
+
+** Improvement
+ * [HHH-221] - Proxy for one-to-one with property-ref
+ * [HHH-844] - move parameter "bookkeeping" into QueryTranslator
+ * [HHH-1051] - "Compiled" native SQL queries are not cached
+ * [HHH-1061] - import.sql should allow more human readable and usable files
+ * [HHH-1078] - <dynamic-component> requires type on property
+ * [HHH-1120] - Make NamingStrategy to work nicely with HA and EJB3 naming strategy
+ * [HHH-1142] - added getSelectSequenceNextValString() and getCurrentTimestampSelectString() to TimesTenDialect
+
+** Patch
+ * [HHH-1063] - support for 'locate' function in SQLServer and Sybase dialects
+ * [HHH-1090] - Allow subqueries on criteria to obtain non-string results
+ * [HHH-1095] - Hibernate takes incorrect HasCode when a lot of CompositeKeys and Lazy loading is involved
+ * [HHH-1103] - finalize method filter for proxies
+ * [HHH-1136] - more meaningful AssertionFailure message in org.hibernate.persister.entity.JoinedSubclassEntityPersister.getTableId(...)
+
+
+Changes in version 3.1 rc2 (17.10.2005)
+-------------------------------------------
+** Bug
+ * [HHH-1045] - Example contains inner classes that aren't serializable
+ * [HHH-1055] - optimistic-lock is not inherited from class to subclass et.al.
+
+** Improvement
+ * [HHH-702] - auto detect aliasing for collection properties (coll.key, coll.id etc.)
+ * [HHH-1038] - make 'auto' the default for hibernate.connection.release_mode
+ * [HHH-1042] - determine "expected type" of parameters during HQL parsing
+
+
+Changes in version 3.1 rc1 (07.10.2005)
+-------------------------------------------
+** Bug
+ * [HHH-528] - component.manyToOne.id in HQL causes join
+ * [HHH-871] - Configuration.setListener(String type, Object listener) throws ClassCastException
+ * [HHH-873] - referencing raw HQL FromElement alias outide the from clause of update and delete statements generates incorrect sql
+ * [HHH-876] - PreparedStatement being closed before being executed by AbstractBatcher
+ * [HHH-884] - SchemaExport does not propagate parent indexes to <union-subclass> tables
+ * [HHH-887] - Aggressive release and Session.connection()
+ * [HHH-893] - custom tuplizer are not instantiated for components
+ * [HHH-905] - $PlaceHolder$ remains in generated SQL when filter is enabled
+ * [HHH-907] - optimistic-lock="false" for timestamped object results in SQLException: Invalid column index
+ * [HHH-908] - CLONE -NullPointerException when using BigInteger in a query
+ * [HHH-911] - CGLIBLazyInitializer and Exceptions
+ * [HHH-913] - NPE in CMTTransaction since javax.transaction.Transaction is never set
+ * [HHH-918] - impossible to move objects to another session
+ * [HHH-924] - Useless OracleErrorCodeConverter (and possibly others)
+ * [HHH-932] - HQL UPDATE and <union-subclass>
+ * [HHH-946] - QuerySyntaxException might not be serializable
+ * [HHH-964] - ORA-00936 with joined subclass / Oracle
+ * [HHH-986] - Need to check Thread.currentThread().getContextClassLoader() in ConfigHelper
+ * [HHH-991] - Cannot use comparator class
+ * [HHH-1000] - varchar(xxx char) not supported on Oracle8i
+
+** New Feature
+ * [HHH-950] - interface for SessionFactory.getCurrentSession() handling
+
+
+** Improvement
+ * [HHH-608] - update HSQLDialect for HSQL 1.8 sequence support
+ * [HHH-889] - Add read-only cache-mode comment in <query and <sql-query
+ * [HHH-898] - OracleDialect UTF8 varchar2
+ * [HHH-909] - Onquoted primary key in IncrementGenerator
+ * [HHH-988] - generated="never|insert|always"
+ * [HHH-989] - add discussion of implicit and explcit joins
+ * [HHH-1011] - Make disconnect/reconnect of a Session implicit
+
+** Patch
+ * [HHH-994] - Sybase/SQLServer support for temporary tables
+
+
+Changes in version 3.1 beta 3 (13.09.2005)
+-------------------------------------------
+** Bug
+ * [HHH-528] - component.manyToOne.id in HQL causes join
+ * [HHH-871] - Configuration.setListener(String type, Object listener) throws ClassCastException
+ * [HHH-873] - referencing raw HQL FromElement alias of update and delete statements
+ * [HHH-876] - PreparedStatement being closed before being executed by AbstractBatcher
+ * [HHH-884] - SchemaExport does not propagate parent indexes to <union-subclass> tables
+ * [HHH-887] - Aggressive release and Session.connection()
+ * [HHH-893] - custom tuplizer are not instantiated for components
+ * [HHH-905] - $PlaceHolder$ remains in generated SQL when filter is enabled
+ * [HHH-907] - optimistic-lock="false" for timestamped object results in SQLException: Invalid column index
+ * [HHH-908] - NullPointerException when using BigInteger in a query
+ * [HHH-911] - CGLIBLazyInitializer and Exceptions
+ * [HHH-913] - NPE in CMTTransaction since javax.transaction.Transaction is never set
+ * [HHH-918] - impossible to move objects to another session
+ * [HHH-924] - Removed ErrorCodeConverters
+ * [HHH-946] - QuerySyntaxException might not be serializable
+
+** Improvement
+ * [HHH-898] - OracleDialect UTF8 varchar2
+ * [HHH-909] - Unquoted primary key in IncrementGenerator
+
+
+Changes in version 3.1 beta 2 (16.08.2005)
+-------------------------------------------
+** Bug
+ * [HHH-477] - Boolean discriminators generate invalid SQL for PostgreSQL dialect
+ * [HHH-480] - SchemaExportTask ignores some properties not defined in hibernate.properties
+ * [HHH-615] - SchemaExport outputFile ignores ant's basedir
+ * [HHH-770] - hql query execution generates invalid SQL
+ * [HHH-779] - Assertion failure occured with Hibernate 3 saving objects
+ * [HHH-781] - SimpleExpression ignorecase regression
+ * [HHH-799] - merge() and embedded composite identifiers
+ * [HHH-801] - subselect fetch and named parameters
+ * [HHH-802] - querying "mapped" composite identifiers
+ * [HHH-803] - no version increment from delayed collection adds
+ * [HHH-805] - Session.getStatistics().getEntityCount() throws UnsupportedOperationException
+ * [HHH-819] - Firebird CONCAT SQL function
+ * [HHH-821] - query by natural-id cache is not update when object is inserted or deleted
+ * [HHH-822] - <key-property> will actually pick up <type> tags if it were allowed by the DTD
+ * [HHH-825] - ReadWrite-Cache issues NullPointerException after modification of an array
+ * [HHH-839] - Session.refresh not working for custom 'Load' SQL
+ * [HHH-849] - Cartesian product + implicit joins
+ * [HHH-854] - Class with mapped composite id can't have subclasses
+ * [HHH-858] - Autocommit status inconsistent in connections created by DriverManagerConnectionProvider
+ * [HHH-863] - Hibernate generates "notExists" instead of "not exists"
+ * [HHH-868] - Missing parens after / or -
+
+** New Feature
+ * [HHH-35] - add attribute haltonerror to schemaexport Ant task
+ * [HHH-182] - Mimer SQL Dialect for Hibernate 3
+ * [HHH-704] - Statistics for optimistic lock failures
+ * [HHH-725] - Allow hooks into all executed sql by a session
+ * [HHH-783] - collection lazy="extra"
+ * [HHH-818] - Optimisitc locking using database current timestamp
+ * [HHH-828] - session.getTransaction()
+ * [HHH-829] - <cache include="all|non-lazy" ... />
+ * [HHH-831] - allow database generated property values
+ * [HHH-832] - allow database generated property values for versioning
+ * [HHH-838] - Transaction.setTimeout()
+ * [HHH-840] - allow definition of "auxiliary" database objects in mapping
+ * [HHH-846] - Add Intializable interface for events
+ * [HHH-848] - Validate mappings against JDBC metadata
+ * [HHH-859] - post-commit events
+
+** Improvement
+ * [HHH-133] - schemaexport task: provide independent drop/create output
+ * [HHH-135] - parameterized types can't be used on key-property or ir (possible others)
+ * [HHH-552] - NoopAccessor for HQL-only properties
+ * [HHH-680] - Easier support for doing UserCollectionType's
+ * [HHH-686] - Final classes and classes with private null ctors cause unhelpful NullPointerException
+ * [HHH-754] - Allow HQL DML for implicit polymorphism
+ * [HHH-782] - Avoid unnecessary updates when component property is update='false' but modified
+ * [HHH-786] - Improve lazy options for <one-to-one>
+ * [HHH-791] - Use cascade styles when fetching entities in refresh() and merge()
+ * [HHH-815] - Confusing use of the term "dereference"
+ * [HHH-830] - Improvements to caching lazy properties
+
+** Patch
+ * [HHH-378] - Better LockMode.UPGRADE for DB2 UDB v8.2
+ * [HHH-430] - Improved SizeExpression with greater, lesser, not equals, etc. capabilities
+ * [HHH-735] - SchemaUpdate reads table metadata from wrong schema
+ * [HHH-780] - org.hibernate.proxy.BasicLazyInitializer reflection hotspot
+ * [HHH-864] - Use QUERY_CACHE for sessions with filters to improve performance
+
+
+Changes in version 3.1 beta 1 (21.07.2005)
+-------------------------------------------
+
+** Bug
+ * [HHH-145] - union-subclass and oracle 8i
+ * [HHH-374] - EJB3 example delete query doesn't work in Hibernate.
+ * [HHH-447] - EHCache integration prevents multiple session factories
+ * [HHH-488] - JACCListeners are not working at all
+ * [HHH-564] - missing commas for implicit joins
+ * [HHH-577] - joins within subqueries on dbs supporting ansi-joins result in extraneous commas
+ * [HHH-592] - cast() function doesn't know its returned Hibernate type
+ * [HHH-639] - CGLIB instrumentation of subclasses
+ * [HHH-658] - Bug in Alias Name Generation
+ * [HHH-671] - Firebird support of sequences/generators
+ * [HHH-679] - setLockMode(LockMode.UPGRADE_NOWAIT) does not translate to correct SQL on Oracle
+ * [HHH-688] - Bad implementation in org.hibernate.type.CustomType.stringToObject
+ * [HHH-691] - generated column alias is incorrect if there is a prior relationship and the table column names are similar to the table name
+ * [HHH-694] - NPE when accessing the SLCache stats with TreeCache
+ * [HHH-698] - Exception on EG , trying to change immutable id (natural-id)
+ * [HHH-699] - Incorrect Tablename genetaion when using MySQL Dialect and no Schema definition
+ * [HHH-708] - Restrictions.in could not be used properly on composite-ids
+ * [HHH-709] - ArrayType.replaceElements fails if original.length != target.length
+ * [HHH-718] - HQL "fetch all properties" not working for column level lazy props
+ * [HHH-726] - ConstraintViolationException with primitive collection
+ * [HHH-727] - java.lang.StackOverflowError when cascade="true" on both sides of bidirectional one-to-one association using FK
+ * [HHH-734] - HQL incorrectly parses certain query strings
+ * [HHH-736] - Use of sql functions containing space not supported in filter conditions
+ * [HHH-738] - formula property with select-before-update
+ * [HHH-747] - Order.toSQLString generates incorrect statement
+ * [HHH-748] - component dereferencing in subquery from clauses
+ * [HHH-752] - Typo in 8.5.3 bidirectional one-to-one jjoin table example
+ * [HHH-757] - NullPointerException when using BigInteger in a query
+
+** New Feature
+ * [HHH-595] - HQL insert select
+ * [HHH-597] - Named XML resultsetmappings
+ * [HHH-696] - handle discriminators on HQL insert
+ * [HHH-697] - allow bumping versions in HQL update
+ * [HHH-716] - handle version columns in bulk inserts
+ * [HHH-723] - Need to be able to pass in javax.sql.DataSource in SF creation
+ * [HHH-739] - Order.ignoreCase()
+ * [HHH-741] - select clause subselects
+ * [HHH-742] - Stateless session
+ * [HHH-744] - collection fetching in scroll() via "break processing"
+ * [HHH-768] - <many-to-many property-ref=".."/>
+
+** Improvement
+ * [HHH-14] - Add Session.delete(String entityName, Object entity)
+ * [HHH-295] - cleanup and expose the Tuplizers
+ * [HHH-352] - HQL bulk and cache
+ * [HHH-689] - exclude parens for components outside where-clause
+ * [HHH-743] - {coll.key}, {coll.index}, {coll.element}, etc
+ * [HHH-745] - EJB3 composite PK style
+ * [HHH-749] - Cascade merge() and unidirectional one-to-many
+ * [HHH-750] - use attribute name other than 'type' in dynamic-maps
+ * [HHH-753] - Replace antlr System.exit with QueryException
+ * [HHH-769] - property-ref="foo.bar" to a component property
+ * [HHH-772] - null in maps are handled inconsistently
+ * [TODO-18] - optimistic-lock="all|dirty" with components
+
+
+Changes in version 3.1 alpha 1 (24.06.2005)
+------------------------------------
+** Bug
+ * [HHH-204] - Wrong/uncommon log name in class ...hql ast ErrorCounter
+ * [HHH-241] - HQL lexer doesn't support unicode quoted strings
+ * [HHH-354] - property named "full" breaks HQL queries
+ * [HHH-493] - WARNING: Keyword 'member' is being intepreted as an ident
+ * [HHH-538] - length() function does not work in SQLServerDialect
+ * [HHH-539] - ClassCastException on mapping a property with a formula in a set of composite elements
+ * [HHH-540] - Mapping a one-to-many collection with a non-null foreign key within a component fails on save
+ * [HHH-547] - Cannot commit using UserCollectionType and debug logging
+ * [HHH-548] - many-to-many faulty delete optimization when filter in use
+ * [HHH-554] - Hibernate 3 HQL to SQL FROM Clause Comma Generation Problem
+ * [HHH-558] - HQL doesn't support multi-byte character in class name and property names
+ * [HHH-559] - quoted multi-byte character in HQL is translated into weird character in SQL.
+ * [HHH-565] - delete-orphan generating AssertionFailure
+ * [HHH-566] - The result is not correct in 'createQuery("select new Foor(x,x) from Foo").scroll()'
+ * [HHH-570] - size operator fails on a many to many in HQL
+ * [HHH-571] - JDK 1.3 Compatibility Issue
+ * [HHH-573] - error when merging entity graph has cascade level>2
+ * [HHH-575] - org.hibernate.cache.FilterKey is not Serializable
+ * [HHH-589] - parameterized expression inside function
+ * [HHH-594] - order-by mapping for collections overrides order by in HQL
+ * [HHH-601] - New temporary table feature assumes all persisters are ready
+ * [HHH-614] - SchemaUpdate broken in DB2/400
+ * [HHH-622] - Spelling mistake 'intepreted' in org.hibernate.hql.PARSER warning
+ * [HHH-642] - criterias with projection
+ * [HHH-650] - FilterImpl is Serializable yet FilterDefinition is not
+ * [HHH-657] - Date parse exception using EntityMode.DOM4J
+ * [HHH-666] - JTAHelper.isInProgress( txn.getStatus()) throws NPE when txn null
+
+** New Feature
+ * [HHH-620] - Extra join conditions in HQL
+ * [HHH-640] - short-circuit dirty checking for instrumented classes
+ * [HHH-643] - support mutable="false" for collections
+ * [HHH-645] - Session.setReadOnly()
+ * [HHH-549] - portable to_char() function
+ * [HHH-576] - Hook to pre-process generated select strings in the Dialect
+ * [HHH-662] - Add support for definition of functional composite key ("properties") in joined subclass
+
+** Improvement
+ * [HHH-46] - Allow access to properties that are not joined
+ * [HHH-261] - Stored procedure support for SQLServer dialects
+ * [HHH-351] - multi-table bulk operations
+ * [HHH-574] - improve in naming named-query
+ * [HHH-596] - Auto-detect {..} in native SQL queries
+ * [HHH-641] - create constraints for many-to-one property-ref
+ * [HHH-501] - warn when a final method is tried to be proxied
+ * [HHH-525] - cglib related startup performance
+ * [HHH-557] - Helpful error message for non Serializable classes with a composite-id
+ * [HHH-586] - check immutable natural-ids
+ * [HHH-609] - Adds substr to PostgreSQL dialect
+ * [HHH-618] - documentation bugs
+
+** Patch
+ * [HHH-224] - JDataStore Dialect and updated Testfiles
+ * [HHH-366] - InformixDialect SQLExceptionConverter
+ * [HHH-536] - ImprovedNamingStrategy modifies capitalized column names inappropriately
+ * [HHH-632] - Informix Dialect missing from automatic dialect discovery
+ * [HHH-4] - CachedFile bugfix + configuration + autodetect resource as file
+
+
+Changes in version 3.0.5 (25.5.2005)
+------------------------------------
+
+** Bug
+ * [HHH-516] - Interceptor.onFlushDirty() sometimes not called
+ * [HHH-517] - getDatabaseMajorVersion() not available in JDK 1.3
+ * [HHH-518] - SQL parser does not recognize all whitespace
+ * [HHH-519] - broken SQL when traversing many-to-many to joined <subselect>
+ * [HHH-529] - Bug in merge()
+
+** New Feature
+ * added <natural-id> mapping
+ * [HHH-533] - allow unique-key on <property> and <many-to-one>
+ * [HHH-534] - efficient cache by natural key
+ * support for <comment> on MySQL
+
+** Improvement
+ * [HHH-526] - log "Aggressively releasing JDBC Connection" as DEBUG instead of INFO
+ * various logging improvements
+
+
+Changes in version 3.0.4 (23.5.2005)
+------------------------------------
+
+** Bug
+ * [HHH-452] - UnsavedValueFactory.instantiate does not wrap the Exception it catches
+ * [HHH-456] - Session still holds references to entities after close()
+ * [HHH-457] - Log info for structured second-level cache entries is incorrect
+ * [HHH-466] - Made default for MS SQL dialect definition more flexible
+ * [HHH-473] - Formula can't contain SQL cast keyword
+ * [HHH-484] - Order-by not applied to collections fetched by OuterJoinLoader
+ * [HHH-487] - Possible empty union in UnionSubclassEntityPersister
+ * [HHH-505] - Possible NullPointerException in BigIntegerType
+ * [HHH-507] - Cached List does not show additions
+ * Fixed bugs in subselect fetching
+
+** New Feature
+ * [HHH-455] - Obtain non-intercepted Session by passing an EmptyInterceptor
+ * [HHH-467] - HQL: support for case when then else end IN select clause
+ * [HHH-485] - Support multiple collection join fetches (attention: Cartesian product) in native SQL queries
+ * Added SessionStatistics metric interface
+ * Added support for table and column level <comment> blocks
+ * Added Simplified Chinese translation of reference documentation (Xiaogang Cao)
+
+** Improvement
+ * Any query may now join fetch >1 collection role (attention: Cartesian product)
+ * [HHH-454] - Add 2292 integrityViolationCode to Oracle9Dialect
+ * [HHH-503] - Implemented ViolatedConstraintNameExtracter for HSQLDialect (Frank Grimes)
+
+
+Changes in version 3.0.3 (8.5.2005)
+-----------------------------------
+* fixed bug in HQL for composite key classes which have a property named the same as the owning entity's id property
+* replaced 'connection.aggressive_release' with 'hibernate.connection.release_mode'
+* added ConnectionReleaseMode
+* added eager fetch for any associations with fetch=join, even after a HQL query, or cache retrieval (EJB3)
+* added replicate() isUpdate flag to OnReplicateVisitor, useful for native ids
+* fixed ParameterizedTypes order of initialization
+* fixed bug in DB2Dialect
+* fixed EntityMode.DOM4J creation of duplicate <set> output
+* fixed JDBCException error code handling
+* fixed Criteria Restrictions.isEmpty()/isNotEmpty() when collection is mapped to superclass
+* fixed HQL indexed collections access with no alias
+* fixed HQL aggregate functions on components when "id" property is used
+* fixed issue with non-cascading refresh to collections
+* fixed query-timeout not being applied to bulk HQL (Stephan Fudeus)
+* fixed pessimistic locking with Firebird (Yuichi Sugimura)
+* updated Ant 1.6.3
+* improved validation of sql queries, throw QueryException if addEntity() nor addScalar() was called
+* added automatic dialect detection if no dialect is configured
+* added new tutorial (Michael Gloegl, Christian Bauer)
+
+
+Changes in version 3.0.2 (27.4.2005)
+------------------------------------
+* fixed union operations on PostgreSQL
+* fixed HQL concat() function for Oracle dialect
+* fixed auto-close/auto-flush during getCurrentSession() processing
+* fixed ClassCastException with EntityMode.DOM4J
+* fixed HQL dynamic instantiation with iterate()
+* fixed HQL bug with missing parantheses and implicit joins
+* fixed bug were Interceptor.getEntity() wasn't called if in cache
+* fixed bug in merge() of sorted sets
+* fixed bug in EntityMode.DOM4J with non-lazy embedded many-to-ones
+* fixed Criteria/Projection ordering bug
+* fixed HQL referencing component attribute
+* fixed column duplication detection for components
+* fixed eager fetching for many-to-many associations
+* fixed stack overflow with auto_close_session and aggressive_release and unclosed ScrollableResults/HibernateIterator
+* fixed bug in HQL parser regarding naked property refs which reference component properties
+* fixed bug with eager fetched arrays not being loaded
+* fixed bug in filter against joined-subclass
+* improved CacheMode.GET/IGNORE, disabled cache put
+* improved HQL support for standard SQL functions, including coalesce() and nullif()
+* improved filtering of many-to-many associations
+* added HQL support for cast(x as type) if SQL database supports it
+* added increment id generation for union-subclass
+* added ConnectionProvider.supportsAggressiveRelease() for managed environments
+* added support for caching of queries if filter is enabled
+* added PreparedStatement count to Statistics
+* added transactional/nontransactional read()/get() to Cache API
+* added quotation of schema names
+* added Distinct to Projection API
+* added config parameter 'connection.aggressive_release'
+
+Changes in version 3.0.1 (18.4.2005)
+------------------------------------
+* added HQL tuple constructor/comparison feature
+* added HQL "fetch all properties" override if instrumentation is used for lazy loading
+* added HQL projection feature, return Lists instead of arrays for projection
+* added HQL projection feature, return Maps with user-defined HQL SELECT aliases as keys
+* added HQL support for expressions in aggregation functions
+* added new IntegrityViolationException to MySQL dialect
+* added value mapping type 'big_integer'
+* added not-found="ignore|exception" switch for legacy associations (i.e. broken database integrity)
+* added fully automatic Session scoping in JTA environments with sf.getCurrentSession()
+* fixed bug in DTD that wouldn't allow union-subclass in separate file
+* fixed a MS SQL Server case sensitivity issue with native SQL queries
+* fixed a minor bug in subselect fetching
+* fixed case sensitivity in HQL functions
+* fixed a bug with listener assignment for save() operation (Matthew Inger)
+* fixed return-property in named SQL queries to work with all identifier names
+* fixed TransactionManager lookup (again) for WAS 6.0
+* fixed a bug with HQL batch delete and MS SQL Server
+* fixed session not getting closed with auto_close when rollback occured
+* improved concatentation handling in AST parser
+* updated dom4j to avoid memory leak in old version
+* updated C3P0
+
+
+Changes in version 3.0 (31.3.2005)
+----------------------------------
+* added support for autoflush/autoclose to HibernateServiceMBean
+* fixed initialization/session association detection problem of collections
+* fixed creation of FK constraints to union superclass table
+* fixed bug where union-subclass table did not get a PK constraint
+* added a separate log category for HQL parser warnings and errors
+* fixed bulk delete operation on MS SQL Server
+* added support for proxying protected methods (Juozas)
+* added support for unicode quoted strings in new HQL parser
+* fixed implied joins in subselect WHERE clause in new HQL parser
+* added SQLServer7Dialect to handle differences in functions
+* added support for JNDI-bound cache instances, future use for JBoss Cache
+* added scale attribute to column mappings for numeric precision control
+* added fetch=subselect for collections
+* added support for bulk update/delete against discriminator-based inheritence hierarchies
+* added the ability to use naked property refs in HQL (required in update/delete statements)
+* updated CGLIB 2.1.0
+* fixed NPE at BasicEntityPersister.getPropertyIndex (Todd Nine)
+* fixed issue with entity-name and subclasses (Sverker Abrahamsson)
+* fixed issue with correlated subqueries in new HQL parser
+* fixed a problem with native SQL query mapping and embedded composite identifiers
+* improved mapping binding, allowing unordered extends for pure entity-name hiearchies
+* fixed NPE for delete() with deprecated Lifecycle interface
+* fixed a problem with serial joins ending in component value in new HQL parser
+* fixed inner join/subselect precedence problem in new HQL parser
+* fixed indices() function in new HQL parser
+* fixed a bug in InformixDialect, now correct LIMIT clause
+* fixed a bug in idbag.remove() (Sebastien Cesbron)
+* fixed a conflict on OracleDialect between setMaxResult and LockMode.UPGRADE
+* fixed XML configuration file issue with SchemaExport
+* fixed an ArrayIndexOutOfBounds problem
+* renamed executeUpate() to executeUpdate()
+* fixed batch loading for property-ref entities
+* fixed loading from cache of <key property-ref> collection owner
+* fixed minor bug in SQL exception reporting
+* fixed dynamic-component cannot be bound to XML
+* fixed querying component with formula property
+* fixed incorrect table alias for order-by on many-to-many
+* fixed a bug for unidirectional one-to-many with moving child objects
+* fixed a bug with union-subclasses and persister creation
+* fixed a HQL concatenation problem on MySQL
+* fixed a bug where an unnecessary exception was thrown for a property-ref to a superclass property
+* fixed minor dtd bug
+* fixed new bug in Clob/Blob support
+* fixed issue with INDEX_OP and subclass joins on theta-join dialects
+* fixed some minor issues in query cache regions, including HB-1449
+* fixed superflous import and regression bug in verifyparameters
+* fixed two bugs in select id generator (Malcolm Green)
+* fixed increment generator for union-subclass mappings
+* updated JBoss Cache to 1.2.1alpha, fixing locking issues
+* made stat classes serializable
+* fixed merge(), now ignores blob and clob fields
+* added support/dialect for TimesTen
+* improved algorithm for batch fetching, more aggressive
+* improved toStrings()s for Statistics objects (Ryan Lynch)
+* renamed <result-*> to <return-*> for externalized SQL query mapping
+* renamed Session.openSession() for EntityMode to Session.getSession()
+* added support for CASE in HQL
+* fixed bug with filters and polymorphic queries
+* fixed import ordering problem of super/subclass mappings
+* switched to patched ANTLR 2.7.5, now using context classloader before doing class.forname
+* TableHiloGenerator now falls back to TableGenerator properly with max_lo < 2 (Emmanuel Bernard)
+* better transaction handling of TableGenerator in a JTA environment (Emmanuel Bernard)
+* removed hard coded log4j dependency (Emmanuel Bernard)
+* added support for stored procedure in named queries (Max Andersen)
+* added <property-result> to named SQL queries to allow users to use sql without {}-markup
+* added multi-column property support to native SQL mapping
+
+Changes in version 3.0rc1 (28.2.2005)
+----------------------------------
+* introduced EntityModes, and XML mapping preview
+* several minor dialect improvements
+* fixed a problem where filters were not applied to subclasses
+* fixed a problem where InstrumentTask would fail if applied to already-instrumented classes
+* fixed many problems with new parser and made it the default (thanks again to Joshua for the new parser)
+* implemented bulk update/delete queries for the new parser
+* fixed a minor bug in the classic query parser
+* renamed create() to persist() as per EJB3edr2
+
+Changes in version 3.0 beta 4 (11.2.2005)
+-----------------------------------------
+* support unidirection one-to-many with a not-null foreign key
+* support formulas for index and element of collections
+* support one-to-ones mapped to formulas
+* fixed a bug in proxying methods that return "this"
+* optimized proxies for embededded composite id classes
+* fixed a bug affecting <key-many-to-one>
+* fixed a bug caching newly inserted objects
+* introduced DetachedCriteria
+* support subselects in Criteria queries
+* miscellaneous Criteria API enhancements
+* fixed a problem where hibernate.max_fetch_depth applied to eager fetching via setFetchMode()
+* use inner joins for join fetching not-null fk associations
+* support unique="true" in <component> and <properties> mappings
+* union-subclass hierarchies may own collections (dtd bug)
+* added guid support for Oracle
+* new mechanism for auto-detecting unsaved-value
+* pass state array in delete events
+* improved implementation of hibernate.auto_close_session and hibernate.close_before_completion
+* fixed a bug where components with only collections would be incorrectly nullified
+* fixed a bug where criteria queries with projection could not be cached
+* fixed a problem where duplicate column name aliases could be generated
+
+Changes in version 3.0 beta 3 (30.1.2005)
+------------------------------------------
+* Major rework of Criteria queries, support for projection, grouping, aggregation, ordering by any attribute
+* various improvements to new HQL parser (Joshua Davis)
+* fixed a bug where <join fetch="select"> was broken for subclasses with duplicated property names
+* fixed problems with long types in Oracle DDL generation
+* added EnhancedUserType, UserCollectionType, UserVersionType
+* added CacheMode
+* fixed minor performance problem where cascade delete could add objects to second-level cache
+* added hibernate.default_batch_fetch_size
+* added hibernate.cache.use_structured_entries
+* different classes and collection roles may now share a cache region
+* don't include discriminators for abstract classes in generated SQL
+* it is no longer truly necessary for composite identifier classes to implement equals()/hashCode() (but still recommended)
+* workaround for bug in MySQL InnoDB with self-referential foreign keys
+* added lazy="true" to many-to-one and one-to-one mappings (requires bytecode instrumentation)
+
+Changes in version 3.0 beta 2 (24.1.2005)
+------------------------------------------
+* added LockAcquisitionErrorCodes to MySQL dialect (Jesse Barnum, Emmanuel Bernard)
+* added MultipleHiLoPerTableGenerator, one hi value per row/per table (compliant with EJB3)
+* added a generator handling multiple hi values per table (Emmanuel Bernard)
+* added events for pre/post SQL operation interception
+* added experimental support for JACC-aware configuration and events
+* added full support for implicit polymorphism in Criteria queries
+* added support annotated classes through XML configuration (Emmanuel Bernard)
+* added support for WebSphere's weird TxManagerLookup
+* added support for filters with dynamic-class mappings
+* added support for lists of parameters in filters
+* added support for scalar queries in createSQLQuery (Michael Gloegl)
+* added support for scalar results in native SQL queries (Michael Gloegl)
+* fixed SchemaExport/SchemaUpdate, now respect default_schema and default_catalog (Michael Gloegl)
+* fixed a bug in one-to-one mapping with property-ref
+* fixed a bug in the query cache lookup routine
+* fixed compilation problems on IBM JDK 1.4. and JDK 1.3.1
+* fixed custom SQL for loading when using composite identifiers
+* fixed exception thrown from optimistic locking failures
+* fixed support for limit queries (select first ?) in Informix
+* improved SchemaExport/Update, now respect default_schema and default_catalog
+* improved dialect handling, throw an exception if no dialect has been set
+* improved loading of mappings, no ordering of super/subclasses required anymore
+* improved statistics for second-level cache
+* improved table generators for hi/lo, can now be used in a JTA environment (Emmanuel Bernard)
+* query engine: added support for 'trim([leading | trailing | both] [expression from] expression)'
+* query engine: added support for DISTINCT and ALL
+* query engine: added support for FETCH
+* query engine: added support for HAVING count()
+* query engine: added support for HQL NOT IN and EJBQL '[NOT] MEMBER OF'
+* query engine: added support for ORDER BY COUNT(*)
+* query engine: added support for collections of scalar values
+* query engine: added support for literals in constructor select expressions.
+* query engine: added support for select elements(..) from Foo f
+* query engine: added support for template functions in the SELECT clause
+* query engine: fixed NOT LIKE
+* query engine: introduced EMPTY and added it to constant (support for IS [NOT] EMPTY)
+* updated dom4j, OSCache, EHCache, JBoss Cache, Xerces, Xalan, and Log4j
+* associated class where filter now applies to <one-to-one property-ref>
+
+Changes in version 3.0 beta 1 (21.12.2004)
+------------------------------------------
+* reimplemented HQL using an ANTLR-based AST parser (Joshua Davis)
+* added class="select" id generator
+* added Query.setReadOnly()
+* added hibernate.order_updates
+* introduced cascade refresh
+* added typed JDBC exceptions (Steve Ebersole)
+* improved lifecycle for CacheProviders (Steve Ebersole)
+* added Expression.isEmpty()
+* fixed some minor mapping DTD bugs (Ben Sommerville)
+* fixed auto-commit mode for SchemaUpdate
+* added default-lazy to <hibernate-mapping>, which defaults to true!
+* added fetch="join|select" and deprecated outer-join attribute
+* fixed a bug where <custom-insert> was not used for entities with "identity" id generation
+* fixed some problems with dynamic-class
+* added property-level optimistic-lock attribute, to allow an unchecked property
+* cascade lock() now cascades with LockMode.NONE
+* fixed some bugs in filter handling (Steve Ebersole)
+* added hibernate.transaction.flush_before_completion and hibernate.transaction.auto_flush_session
+* added JSR-220 compliant create() and merge() operations
+* cascade attribute is now multi-valued, with values save-update,create,merge,delete,delete-orphan,lock,evict,replicate,all-delete-orphan
+* index and unique-key attributes may now be multi-valued
+* introduced unsaved-value="undefined", the default for "assigned" ids and <composite-id>, which forces Hibernate to hit the db
+* primitive typed <id> property mappings now default to unsaved-value="0"
+* added ScrollMode
+* added dialect for Derby (Simon Johnston)
+* added MySQLMyISAMDialect and MySQLInnoDBDialect
+* added precision and scale mapping attributes, for numeric types in DDL
+* fixed a problem with duplicate column mappings on Sybase
+* read-write cache now uses version numbers to ensure consistency with database, if available
+* native SQL queries may now fetch a collection role (Steve Ebersole)
+* added sequential-select, optional and inverse attributes to <join/>
+* added <properties> element, which can be the target of a property-ref
+* fixed a bug relating to composite property-refs
+* Hibernate now much more robust if user does not implement equals()/hashCode() on id and unique key classes
+* enabled batch deletes for versioned data
+* fixed a minor bug in Session.close()
+* removed uuid.string and renamed uuid.hex to plain uuid
+* workaround for a MySQL bug in SchemaUpdate
+* added JDBCException.getSQL() and made various improvements to exception flow
+* createSQLQuery() now fully supports components
+* fixed a bug in SQL generation for <joined-subclass> mappings
+* fixed a bug where filter and query parameters could be bound in the wrong order (Steve Ebersole)
+* fixed a problem where quantifiers could not appear in SQL fragments
+* fixed a bug with dynamic components
+* fixed a bug where Dialect default properties overrode user-specified properties (Ben Sommerville)
+* fixed a bug where duplicate column name in a joined table caused an exception
+* implemented two-phase load for dynamic components
+* fixed a bug where cancelQuery() canceled a re-pooled statement
+* deleted collections are now removed from session-level cache
+* fixed a bug in LocaleType (Steve Ebersole)
+* use "with rr" to obtain UPGRADE locks in DB2
+* package attribute now significant for extends
+* fixed a minor problem with Hibernate Clobs and Blobs
+* extends attribute does no longer require specific ordering of mapping files
+
+Changes in version 3.0 alpha (23.8.2004)
+----------------------------------------
+* package rename net.sf.hibernate -> org.hibernate
+* checked exceptions are now runtime exceptions
+* some session methods deprecated and moved to org.hibernate.classic.Session
+* removed various deprecated functionality
+* added Filter API and mappings, for temporal, regional and permissioned data (Steve Ebersole, Gavin King)
+* support cascade delete via ON DELETE CASCADE constraint
+* added extra attributes to named query definition
+* added hibernate.use_identifier_rollback
+* added subselect mappings
+* added lazy="true" to property mappings
+* added <join/> for multitable mappings
+* added <union-subclass/> for table-per-concrete-class strategy
+* added Statistics API and JMX MBean (Gavin King, Emmanuel Bernard)
+* introduced new event-driven design (Steve Ebersole)
+* support for faster startup with Configuration.addCachableFile() (Joris Verschoor, Max Andersen)
+* mask connection password for log level greater of equals to info (Joris Verschoor, Emmanuel Bernard)
+* add check of named queries when building SessionFactory (Joris Verschoor, Emmanuel Bernard)
+* added custom EntityResolver setting capability (Emmanuel Ligne, Emmanuel Bernard)
+* PropertyValueException for null values in not-null properties of components (Emmanuel Bernard)
+* enhanced support for single- and no-argument sql-functions in HQL select clause (Michael Gloegl)
+* Added catalog element, to enable table names like catalog.schema.table (Michael Gloegl)
+* Added <sql-insert>, <sql-update> and <sql-delete> support (Max Andersen)
+* Support callable statements (stored procedures/functions) via callable="true" on custom sql (Max Andersen)
+* Added support for type parameters and typedefs (Michael Gloegl)
+* Added support for JDBC escape sequences in createSQLQuery (Max Andersen)
+* Added statistics per SessionFactory (Gavin King, Emmanuel Bernard)
+* Added a StatisticsService MBean for JMX publucation (Emmanuel Bernard)
+* support for updates via rownum in Oracle
+* fixed problems with SchemaUpdate
+* support for <column formula="..."/>
+* added hibernate.use_sql_comments
+* added property-ref to collection <key/>
+* fixed performance problems with <one-to-one property-ref=.../>
+* enhanced UserType with new methods assemble()/disassemble()
+* better algorithm for batch fetch batch sizes
+* added <dynamic-class>
+* added entity-name concept, and session methods save(entityName, object), update(entityName, object), etc
+* added framework in proxy package
+* native SQL queries may now fetch a collection role
+* added <loader/> for class and collection mappings
+* added getEntity() and getEntityName() to Interceptor
+* formula-based discriminators and association mappings
+* added "guid" id generation strategy
+* various improvements to dialects
+* <discriminator force="true"/> now acts as a filter on collections
+* where filters now apply in the on clause in an outer join
+* added hibernate.jdbc.factory_class to select a custom batcher
+* session now uses entity name + id to enforce uniqueness, instead of table name + id
+
+Changes in version 2.1.6 (9.8.2004)
+------------------------------------
+* fixed Quickstart/readme.txt instructions
+* fixed DB2/400 identity column support
+* fixed the scroll() query method
+* fixed exotic classloader problems with CGLIB
+* added insert="false" for discriminator columns which are part of a composite identifier
+* added several new configuration settings to JMX HibernateService
+* added new instantiate() method to SessionFactory.getClassMetadata()
+* improved the HSQL DB dialect with features from new version
+* added hibernate.jdbc.batch_versioned_data (Steve Ebersole)
+
+Changes in version 2.1.4 (2.6.2004)
+------------------------------------
+* improved Session serialization support by adding ability to serialize unflushed sessions (Steve Ebersole)
+* fixed Session.clear() functionality to clear the internal nonExists cache (Steve Ebersole)
+* much better implementation of scroll() (Steve Ebersole)
+* support "select new ..." for iterate() and scroll() (Steve Ebersole)
+* added support for multi-parameter SQL functions (Steve Ebersole)
+* fixed hbm2ddl generating infinite indexes on MySQL (Michael Gloegl)
+* fixed alias precedence in HQL queries, function names are second (Steve Ebersole)
+* added "transactional" as allowed cache concurrency strategy in XML configuration file
+* improved System.getProperties() with security exception warning in secure environments
+* improved Proxool integration, better property handling
+* fixed problem with use of getDefinedMethod() in secure environments (Ken Arnold)
+* fixed bug in createSQLQuery() which prohibited multiple aliases for the same entity (Max Andersen)
+* fixed query cache misses when using named bind parameters (Michael Greer)
+* recognize "left" and "right as keywords in SQL fragments
+* recognize SQL quoted identifiers in SQL fragments
+* improved identity handling on SQL Server by using scope_identity() for update counts (Arthur Fitt)
+* added DB2390Dialect for DB2/390 databases (Kristoffer Dyrkorn)
+* fixed a bug in toArray() of identifier bag collections (Khachchou Mohammed)
+* fixed a problem with DDL generation for serial columns in Informix
+* fixed a problem with DDL generation for timestamp columns in Informix (Michael Schmidt)
+* fixed a NPE that occurred calling saveOrUpdateCopy() for components
+* fixed a bug with replicate() and uninitialized collections
+* fixed a bug caching one-to-one associations
+* fixed eviction from named query cache regions
+
+Changes in version 2.1.3 (25.4.2004)
+-----------------------------------
+* added SELECT-clause SQL function support to main Dialects
+* fixed a problem where some unnecessary selects where issued for optional one-to-one associations
+* fixed a bug in SQL generation for criteria queries with multiple one-to-many joins
+* deprecated everything related to PersistentEnum
+* fixed an NPE that occurred when using <one-to-one property-ref> with composite ids
+* fixed a problem with JCA adaptor on WebLogic (Michael Gloegl)
+* improved behavior when removing elements from <idbag>s
+* fixed a bug in getGeneratedKeys() support (Michael Gloegl, Kevin Day)
+* fixed a bug when using Criteria queries with collections of joined-subclasses
+* fixed an NPE that occurred when calling comparator() on a lazy sorted set (Attila Szegedi)
+* fixed a bug when using setMaxResults() with native SQL queries in some Dialects
+* validate that composite id classes override hashCode() (Adrien)
+* fixed some minor problems with saveOrUpdateCopy()
+* fixed some problems in OSCache provider
+* fixed an NPE that occurred when calling a lazy collection after evicting from session
+* fixed an NPE that occurred when select-before-update is used with unversioned data (Patrick Peralta)
+* fixed a bug where dynamic-components could not be queried (Massimo Ferrari)
+* SQL formula parser now recognizes all Dialect-specific SQL functions (Anthony Patricio)
+* fixed a problem where SQL CASE statements could not appear in SQL formulas
+* fixed a problem where subselects with joins could not appear in SQL formulas
+* C3P0 and Proxool pools now cleaned up after SessionFactory.close()
+* fixed a bug where dirty checking of mutable properties was broken after lock()
+* fixed a minor bug where orphan delete was broken for newly saved instances
+* added Query.setFetchSize() and Criteria.setFetchSize()
+* PreparedStatement pooling in DBCPConnectionProvider can now be disabled (Emmanuel Bernard)
+* Query.setProperties(Object) now detects array and collection valued properties and delegates to Query.setParameterList() (Max Andersen, Nick Heudecker)
+* lengths of positional parameters and types arrays are now validated
+* fixed an obscure problem where a PreparedStatement was not closed
+
+Changes in version 2.1.2 (4.2.2004)
+-----------------------------------
+* added Session.isDirty()
+* fixed a very obscure concurrency problem with read-write cache for inverse collections
+* deprecated Criteria.returnMaps() / Criteria.returnRootEntities() in favor of new ResultTransformer framework
+* don't cache objects with dynamic-update="true" or <joined-subclass> mappings immediately after insert/update
+* added version checking to saveOrUpdateCopy()
+* fixed constraint violations that occurred when mixing identity columns with other id generation strategies
+* added Sybase 11.9.2 dialect to support older versions of Sybase that do not support ANSI joins (Colm O' Flaherty)
+* added Informix9Dialect (Finn McCann and Max Andersen)
+* added DB2400Dialect (Peter DeGregorio)
+* fixed a problem where mapping validation failure was reported as duplicate import (Michael Gloegl)
+* fixed a problem with Expression.not() in MySQL (Michael Gloegl)
+* added support for ResultSet.getGeneratedKeys() (David Morris, John Kristian)
+* added check attribute to allow check constraints in DDL
+* implicit polymorphism for Criteria queries (Shorn Tolley)
+* use IF EXISTS for dropping hilo tables (Michael Gloegl)
+* better exception report if deleted object is resaved by cascade
+* support nested components in Example queries (Emmanuel Bernard)
+* fixed a minor problem with onDelete() callbacks
+* fixed an obscure problem with select-before-update
+* added SunONETransactionManagerLookup (Robert Davidson)
+* fixed a problem with replicate() and <joined-subclass> mappings
+* made setParameterList() accept empty lists and deny null values (Max Andersen)
+* validation check on query parameters now allows setParameter(x, null) (Max Andersen)
+* added default-access to DTD (Max Andersen)
+* made Query.setParameterList() accept empty lists and deny null values (Max Andersen)
+* allow Query.setParameter(x, null) (Max Andersen)
+* queries with "select new" now cacheable
+* throw meaningful exception when lazy initialization occurs on disconnected session
+* added default-access to <hibernate-mapping> (Max Andersen)
+* added -text support to SchemaUpdate (Max Andersen, Matt Hall)
+* fixed broken implementation of embedded composite keys with createSQLQuery() (Max Andersen)
+* added hibernate.cache.use_minimal_puts config property to reduce unnecessary second-level cache puts
+* optimized performance of orphan delete detection (Bertrand Renuart)
+* fixed problem where unnecessary UPDATE occurred after INSERT for versioned objects with collections
+* WebSphereTransactionManagerLookup for WAS 5.1 (Edina Pimp)
+* Criteria queries now cacheable (Mario Ivankovits)
+* fixed problem with ordered, paginated queries in DB2 (Tim Collins)
+* fixed a bug caching <idbag>s
+* lazy="true" collections are now lazy even when available in cache
+* fixed a problem with version unsaved-value="negative"
+* added hibernate.cache.region_prefix config property (William Drai)
+* fixed problem where configuration input streams were not closed (Rajesh Patel)
+
+Changes in version 2.1.1 (17.12.2003)
+-------------------------------------
+* added optional package attribute to <hibernate-mapping>
+* added <meta-value> element to allow simpler <any> mapping
+* native SQL queries are now cacheable - added <synchronize> element to allow correct result set expiry
+* fixed a bug in CGLIB2 integration (Chris Nockleberg)
+* added NamingStrategy
+* don't cache objects with formula properties immediately after insert/update
+* log generated SQL to a special category
+* type of property with access="field" may now be guessed using reflection
+
+Changes in version 2.1 final (12.12.2003)
+-----------------------------------------
+* fixed a problem with CGLIB2 proxies and method calls inside constructors
+* fixed a bug running SchemaExportTask with mappings in jar files (Tom McCune)
+* allow custom persister declaration for subclasses (Nick Johnson)
+* fixed handling of sequences in SchemaUpdate on Oracle (Andrew Delpha)
+* fixed a bug where Iterator did not handle single null values correctly
+* detect and throw exception in the case of a duplicate property mapping
+* don't auto-create indexes for collection foreign keys (roll back to 2.0.x)
+
+Changes in version 2.1 rc1 (29.11.2003)
+---------------------------------------
+* long identifier and discriminator column names are now safely aliased (Max Andersen)
+* cleaned up mapping package to allow applications to manipulate metamodel programmatically
+* fixed a recent bug where collection sort order was lost in second-level cache
+* formula attribute now supported for joined-subclass mappings
+* formula properties may now be used anywhere in queries
+* dialect-specific query pagination for SQL Server
+* fixed a bug where a long path expression ending in collection access by index missed some tables in SQL FROM clause
+* fixed a very ancient performance problem where null one-to-one associations caused n+1 selects
+* added Session.saveOrUpdateCopy()
+* fixed some bugs in Example queries
+* fixed some minor bugs in dialect-specific query pagination
+* immutable entity passed to update() is now lock()ed instead
+* reworked the semantics of nonstrict-read-write
+* JCS cache support now deprecated
+* fixed some obscure bugs in collection handling
+* migrated to CGLIB2 (thanks to Chris Nockleberg)
+* fixed bugs in replicate()
+* fixed a bug affecting joined-subclass mappings with dynamic-update=true
+* performance improvements to boolean type mappings (Bertrand Renuart)
+* integrated JBoss TreeCache clustered cache (thanks to Bela Ban and Ben Wang)
+* fixed a bug in new query parameter validation (Steve Ebersole)
+* fixed a bug where <any> mappings caused unnecessary ObjectDeletedException at flush time
+* fixed a bug where associations with property-ref mappings were not properly cached
+* throw PropertyValueException when not-null properties are null at flush time
+* added unsaved-value attribute to version property mapping (Emmanuel Bernard)
+* tolerate classnames containing $ (Steve Ebersole)
+
+Changes in version 2.1 beta 6 (5.11.2003)
+-----------------------------------------
+* added Session.cancelQuery()
+* improvements to transaction handling for failed commit (thanks to Juergen Hoeller)
+* added cascade="delete-orphan"
+* fixed an exception that occurred when a property was declared not-null="true" update="false" (thanks to John Kristian)
+* support multiple named query cache regions (Mikheil Kapanadze)
+* some improvements to collection reattachment
+* fixed a bad bug with adds to an uninitialized bag or list
+* removed support for <dynabean/> components
+* added <dynamic-component/> mapping for properties of type Map
+* fixed a bug where schema export generated index names that were too long for DB2
+* allow per-region expiry policies in OSCache (Matthias Bogaert)
+* fixed a stack overflow that could occur while initializing nonlazy collections
+* fixed a bug in case-insensitive like for Example queries
+* fixed a bug in ScrollableResults.setRowNumber() (Martin Priekopa)
+* improvements to the cache concurrency strategies
+
+Changes in version 2.1 beta 5 (30.10.2003)
+------------------------------------------
+* Support for custom CollectionPersister (Nick Johnson, Max Andersen)
+* Support for named SQL queries (Max Andersen)
+* duplicate named queries now throws MappingException instead of just logging warning (Max Andersen)
+* fixed problems with WebSphereTransactionManagerLookup (Ralf Taugerbeck, Daniel Bradby)
+* added support for custom collection persisters (thanks to Max Anderson, Nick Johnson)
+* fixed a performance problem during query compilation (Bulent Erdemir)
+* composite keys now supported in createSQLQuery() (Max Andersen)
+* fixed JCA adaptor to run in WebLogic (Daniel Bradby)
+* integrated SwarmCache (Jason Carreira)
+* integrated OSCache (Matthias Bogaert)
+* fixed an NPE that could occur with lists and orphan delete
+* allow nullable one-to-one with property-ref
+* improved usage of Dialect-specific limit SQL
+* fixed problem where non-lazy collections held by cached objects were not immediately initialized
+* fixed getReturnTypes() for native SQL queries (Max Andersen)
+* fixed problems with Criterions that applied to multi-column properties
+* check of rowcounts when JDBC batch updates enabled
+* added named SQL queries using <sql-query> element (Max Andersen)
+* added some extra validations so Hibernate fails earlier when user makes mistakes
+* allow lazy="true" as an alternative to proxy="ClassName"
+* removed dependency to commons-lang
+* SchemaExport now creates indexes for collection foreign key columns if specified by Dialect
+* fixed a bug parsing named parameters in setParameterList()
+* select new Foo(...) will now tolerate null values if the constructor accepts a wrapper type
+* fixed a problem detecting Proxool
+* added logging of persistent object states during flush()
+* allow "not null" as a discriminator value
+* added "parameters" config param to "sequence" generator (Matthias Bogaert)
+
+Changes in version 2.1 beta 4 (3.10.2003)
+-----------------------------------------
+* fixed a bug where <any> mappings did not handle proxies correctly
+* implemented new optimistic-lock strategies
+* fixed several bugs in Criteria query API
+* fixed a bug caching property-ref associations
+* improvements to XML Databinder (Ara Abrahamian)
+* added Session.replicate() and ReplicationMode
+* added ScrollableResults.setRowNumber() / ScrollableResults.getRowNumber()
+* added query cache and Query.setCacheable()
+* added Criteria.returnMaps()
+* fixed some problems with CGLIB proxies
+* fixed an NPE that occurred when a joined-subclass of a versioned entity defined only collections
+* added the access attribute, direct field access and the PropertyAccessor extension point
+* added MatchMode for use with Criteria queries (thanks to Michael Gloegl)
+* fixed a bug where some lazy="false" collections were not immediately initialized
+* fixed problem with WebSphere 5 TransactionManager
+* support schema attribute in MySQL, by using an underscore in the table name (Chris Hane)
+* now seperate Dialects for Interbase and Firebird (Reha Cenani, Max Andersen)
+* removed built-in PreparedStatement cache
+* added Session.getSessionFactory()
+* fixed problem with native SQL queries and Query.setProperties() (Max Andersen)
+* Query now fully validates parameters against the query string before passing them to JDBC (Max Andersen)
+* fixed an NPE in SessionFactory.close()
+* fixed an NPE that occurred when using <idbag>s
+* added SQL-level query results paging to DB2Dialect
+* "foreign" id generator now handles detached instances
+
+Changes in version 2.1 beta 3 (7.9.2003)
+----------------------------------------
+* added Example queries
+* fixed an exception that occurred at startup with <key-many-to-one> and <joined-subclass>
+* fixed a bug where composite-elements were not being updated if a property not in the equals() was changed
+* <parent> property of a composite-element may now be used in equals()
+* named parameters may now be used in HQL order by clause
+* null value of version property now indicates unsaved instance
+* added select-before-update attribute
+* two-phase loading now use for components
+* better implementation of equals()/hashCode() for proxies
+* added property-ref attribute to <many-to-one>
+* renamed result() to uniqueResult()
+* added Session.get()
+* added HashtableCacheProvider
+* JTA TransactionManager now used even when not using Hibernate Transaction API
+* always bypass process-level cache for LockMode.READ
+
+Changes in version 2.1 beta 2 (27.8.2003)
+-----------------------------------------
+* <subclass> and <joined-subclass> may now appear outside of a <class> element, by providing the extends attribute (Max Andersen)
+* fixed an NPE at startup that was introduced in beta 1
+* fixed a bug in Map.putAll()
+* new pluggable cache API
+- deprecated <jcs-cache> in favor of <cache>
+- net.sf.hibernate.cache.CacheProvider settable via hibernate.cache.provider_class
+* more aggressive caching
+* added Hibernate.close(Iterator)
+* Criteria queries may now include joins
+- Criteria.addJoin()
+- Criteria.createCriteria()
+* hibernate.transaction.manager_lookup_class should now ALWAYS be specified in JTA environment when using jcs caching
+* fixed a bug caching <key-many-to-one>
+* fixed bug where cached component did not get <parent> property populated
+* added hibernate.max_fetch_depth property
+* smarter outer-join fetching
+* transient object may now be associated with session using Session.lock()
+* added Query.result(), Criteria.result()
+
+Changes in version 2.1 beta 1 (10.8.2003)
+-----------------------------------------
+* batch-size attribute for collection and class mappings, to allow batch loading
+* collections of "value types" (including composite-elements) may now appear in HQL from clause
+* more efficient loading of collections, and better handling of non-lazy collections
+* added HQL index() function to allow access to collection element index
+* added Session.createSQLQuery() (Max Andersen)
+* added outer-join attribute to collection mappings
+* Criteria.setFetchMode() now applies to collection-valued path expressions
+* added property-ref attribute to <one-to-one>, enabling unique foreign key associations
+* added hibernate.max_fetch_depth config property
+* added hibernate.hbm2ddl.auto config property
+* fixed a bug with combination of <jcs-cache> and <key-many-to-one>
+* support for Dialect-specific SQL functions in HQL select clause (David Channon)
+* added Session.clear()
+
+Changes in version 2.0.2 (2.8.2003)
+-----------------------------------
+* subqueries may now use HAVING and GROUP BY clauses
+* fixed a bug with setMaxResults(), setFirstResult() in HSQL (introduced in 2.0.1)
+* fixed a bug in Set.removeAll()
+* fixed a bug in SchemaUpdate (Mathias Bogaert)
+* added weak typing functionality to ScrollableResults
+* fixed a bug with "calendar" versioning in IBM JDK1.3.1 (workaround for JDK bug)
+* fixed a bug in mapping DTD that caused a problem for hbm2java (Max Andersen)
+* fixed a bug querying nested components
+* SQL generation now prefers ANSI-style inner joins to theta inner joins
+* fixed a bug caching collection references loaded using FETCH
+* fixed a bug with composite foreign keys in normalized table mappings (Tom Sedge)
+* limit support for Interbase (Ludovic Orban)
+* added where attribute to <class> mappings
+* added cascade="all-delete-orphan" for collection mappings
+* fixed a bug binding named parameters with setMaxResults()/setFirstResults()
+* fixed some minor bugs in HQL translator
+* fixed a long-standing bug where a <key-many-to-one> could not be dereferenced in HQL
+* SQL UPDATEs now occur in a predictable order (same order as objects were loaded)
+* support for SELECT ... FOR UPDATE in SAPDB
+* fixed bug where Criteria queries against a subclass also returned superclass instances
+* fixed a very rare bug where an update could get lost with normalized mappings
+* fixed a problem with proxied class heirarchies rooted at an interface or abstract class
+* where and order-by attributes now allow SQL function calls and subselects
+* added formula attribute to <property> tag, to allow "computed" properties
+* fixed a bug where PreparedStatements were sometimes not closed when an exception occured
+* workaround for a problem with <joined-subclass> and Interceptor.onFlushDirty()
+
+Changes in version 2.0.1 (17.6.2003)
+------------------------------------
+* fixed some problems with new dialect-specific LIMIT clauses
+* improved parsing of collection where attribute
+* made one-to-many bags more efficient (they are really sets!)
+* allowed type="calendar" for <version> properties
+* fixed a bug with locking a versioned composite-id class
+* refresh() may now take a transient instance
+* added ProxoolConnectionProvider (Martin Crawford)
+* fixed some minor JCA issues (Mike Mosiewicz)
+* fixed a bug with FETCH and sorted associations
+* improved performance of SchemaUpdate tool (Teodor Danciu)
+* fixed a bug in Configuration.addFile(String) (Ken Geis)
+* tidied up and documented hbm2ddl package (esp. Ant tasks)
+* deprecated CounterGenerator in favor of IncrementGenerator
+* improved logging during initialization
+* deprecated "vm" in favor of "increment" id generator
+
+Changes in version 2.0 final (8.6.2003)
+---------------------------------------
+* added "fetch" keyword to HQL
+* added evict() methods to SessionFactory for JVM-level cache
+* destroy caches from SessionFactory.close()
+* fixed an NPE in Session.evict() (Simon Spero)
+* added Query.setLockMode()
+* tidied up implementation of Loader
+* release ResultSets more aggressively
+* miscellaneous improvements to some Dialects
+* hbm2java now honors the sort attribute (Max Andersen)
+* added exceptions to Interceptor interface
+* fixed problem with setMaxResults(), setFirstResult() in Oracle (introduced in beta 6)
+* fixed some SQL generation that was a problem for Sybase (Dietmar Posselt)
+* fixed some problems with ODMG API (Oliver Gries)
+* added JOTMTransactionManagerLookup (Low Heng Sin)
+* added JOnASTransactionManagerLookup (?)
+* fixed a bug in WeblogicTransactionManagerLookup (Mathias Bogaert)
+* added Criteria.setFetchMode()
+* added new Expressions
+* much more elegant/robust handling of quoted identifiers
+* renamed Hibernate.association() to Hibernate.entity()
+* added dynamic-update and dynamic-insert mapping attributes
+* fixed a bug with refresh() of objects with collections
+* HQL aliases now optional - "from Cat" now legal
+* platform-independant quoting of identifiers using backticks
+
+Changes in version 2.0 beta 6 (10.5.2003)
+-----------------------------------------
+* fixed a bug querying one-to-many associations to a <joined-subclass>
+* added support for dialect-specific LIMIT-style clauses (David White)
+* added <idbag>
+* fixed bug in hashCode() of persistent collections
+* <joined-subclass> now supported in HSQL (Wolfgang Jung)
+* fixed problem for XML parsers which ignore default values declared in DTD
+* <meta> tags can now be set to not be inheritable
+* fixed bug in Expression.in()
+* fixed an NPE that could occur from update() in very strange cases (Chris Nockleberg)
+* disabled outer-join back to owner when initializing one-to-many (performance improvement)
+* fixed a bug in Query.setParameterList() (Nick Heudecker)
+* improved JCA support (Igor Fedorenko)
+
+Changes in version 2.0 beta 5 (21.4.2003)
+-----------------------------------------
+* Informix support (Steve Molitor)
+* fixed a bug parsing "select new ... " queries
+* deprecated "object" type in favor of <any> mappings
+* added Session.contains()
+* added extra DBCP config options (Alex Burgel)
+* SessionFactory.close() now unbinds from JNDI
+* added Session.evict()
+* got rid of an unnecessary SQL DELETE issued when an empty collection was dereferenced
+* where attribute of collection mappings no longer ignored for deletion
+* improved logging
+* support polymorphic associations to "embedded" composite id classes
+* various bugfixes to collection filter parameter binding
+* fixed some problems with proxies introduced in earlier beta versions
+* fixed bug with self-reference in the case of identity column id generation
+* added hibernate.cglib.use_reflection_optimizer property
+* added nonstrict-read-write cache
+* fixed an SQL-generation bug in new Criteria API
+* added CompositeUserType
+* sequence and table id generators now aware of default-schema
+* added update and insert attributes to <component> element
+* fixed a bug with expressions like elements(foo.bar.baz) in where clause
+* more efficient Set initialization (two-phase load)
+* removed support for hibernate.query.imports and added <import> mapping element
+* fixed problem in DBCP connection validation and added new config properties
+* hbm2java can now generate finder methods for persistent objects (experimental) (Matt Hall)
+* hbm2java small fixes/refactorings to support generating more than one file per persistent object (Max Andersen)
+
+Changes in version 2.0 beta 4 (22.3.2003)
+-----------------------------------------
+* Major HQL improvements
+- from "Foo as foo join foo.bars as bar" instead of "from foo in class Foo, bar in elements(foo.bars)"
+- "select new Foo(bar.name, bar.amount) from ...."
+- outer and full join support
+* Query methods now return this, to allow chaining
+* FrontBase support (Run Lussier)
+* experimental JCA support (Daniel Bradby)
+* hbm2java now can generate Beans style property events (Klaus Zimmermann)
+* support SQL identifiers quoted with []
+* fixed bug with PostgreSQL
+* name attribute now optional in .cfg.xml
+* support for postgres ilike operator (M Lang)
+* squash warnings with GNU JAXP (Chris Nockleberg)
+* fixed a bug in Query.setParameterList()
+* Ingres support (Ian Booth)
+* collections now detect changes not made via wrapper for newly saved objects
+* new (experimental) Criteria + Expression APIs
+* Query.setEntity(), etc, now aware of proxies (also improved hueristics for guessing Type)
+* added Hibernate.isInitialized()
+* detect changes made directly to newly-wrapped collection (ie. not via the wrapper)
+* added Hibernate.refresh(Object, LockMode)
+* update(), saveOrUpdate() no longer initialize a proxy
+* fixed problems with Sybase
+* added force attribute to <discriminator>
+* improved handling of null discriminator-value
+* support SQL-style '' escape for HQL strings
+
+Changes in version 2.0 beta 3 (24.2.2003)
+----------------------------------------
+* collections now represent null elements as a missing row
+* collections now deserialize correctly (fix for bug in beta 2)
+* standardised on dom4j for XML parsing
+* fixed bugs in collection caching (an exception occurred for some sorted collections and some kinds of maps)
+* allowed null discriminators
+* set autocommit to true in SchemaUpdate
+* fixed a stack overflow that could occur in toString() of classes created with hbm2java (Max Andersen)
+* fixed a bug where composite-element <parent> property was not being set after retrieval from cache
+* added where attribute to collection mappings to allow filtering
+* fixed a exception that occurred when wrapping collections with sort="MyComparator" (Jason Horne)
+* objects with mutable="false" are now never updated
+* fixed an exception that occurs with <key-many-to-one> association to a class with a composite id (Stefano Travelli)
+* added SchemaExport Ant task (Rong C Ou)
+* integrated latest CGLIB release (Juozas Baliuka)
+- added support for new CGLIB reflection optimizer (Juozas Baliuka)
+* improved query cache algorithm (Who?)
+* fixed a bug in "object" type
+* Lists and arrays now represent null elements as a missing row
+* fixed a bug in Hibernate PreparedStatement cache where maxRows and fetchSize were not cleared before re-caching
+* fixed a bug in HibernateService that caused a restart to fail
+* added SybaseAnywhereDialect (?)
+* added SessionFactory.close()
+
+Changes in version 2.0 beta 2 (2.2.2003)
+----------------------------------------
+* property column names may now be of any length (Mark Woon)
+* fixed problem where CodeGenerator created private get/set pairs (Max Andersen)
+* fixed all silly bugs in Configuration.configure()
+* efficient collection updates from Session.update()
+* added <jcs-class-cache> and <jcs-collection-cache> elements to hibernate-configuration.dtd
+* support for normalized mappings for databases with DECODE instead of CASE (Simon Harris)
+* added Oracle9Dialect
+* added JRun4TransactionManagerLookup (Joseph Bissen)
+* fixed JDBCException to keep reference to underlying SQLException
+* fixed a bug loading many-to-many associations with a repeated column name
+* fixed a bug in ShortType
+* added IngresDialect (Ian Booth)
+* added --config option to SchemaExport
+
+Changed in version 2.0 beta 1 (28.1.2003)
+-----------------------------------------
+* renamed packages to net.sf.hibernate.*
+* all API methods now wrap SQLExceptions
+* removed support for toplevel collections / subcollections
+* created hibernate-mapping-2.0.dtd
+- renamed 'readonly' attribute to 'inverse'
+- renamed 'role' attribute to 'name'
+- changed default value for 'unsaved-value' to "null"
+- added mandatory 'name' attribute to <param>
+- added <meta> tag
+* created hibernate-configuration-2.0.dtd
+* brand new Configuration API, including exposed mapping package
+* completely reworked IdentifierGenerator framework
+- built-in generators now auto-detect the type (so integer identity columns are supported, for example)
+- parameters are now named
+- built-in strategies are renamed
+* expanded Interceptor interface
+* removed exceptions that occur if an object is saved or deleted multiple times in a session
+* added <parent> subelement to <composite-element> and <nested-composite-element>
+* collections except for <bag>s now implement by-value equals() and hashCode()
+* removed all deprecated methods
+* added Session.refresh()
+* added dynamic-update functionality
+* added update and insert attributes to <property> and <many-to-one> mappings
+* added elements(), indices(), size(), maxelement(), minelement(), maxindex(), minindex() collection functions to query language
+* huge improvements to CodeGenerator (Max Andersen)
+* enhanced outerjoin fetching support in queries
+* experimental support for DynaBeans as components
+
+Changes in version 1.2.3 (28.1.2003)
+------------------------------------
+* fixed a recently-introduced problem with Timestamp dirty checking
+* added createClob(), createBlob() for streams (Benoit Menendez)
+* SchemaUpdate now configures Dialect correctly (Michael Locher)
+* update() now working for classes with embedded composite ids
+* unsaved-value attribute now recognized for <composite-id>
+* fixed a minor problem where a very specific kind of SQL select did not qualify a column name
+* added Query.getQueryString()
+* fixed an NPE that sometimes occurred when hibernate.connection.username was not specified
+* fixed a bug in SchemaExport where foreign key constraints did not use qualified tablenames
+* added isFirst(), isLast() to ScrollableResults
+* fixed bug finding properties inherited by mapped interfaces
+
+Changes in version 1.2.1b (4.1.2003)
+------------------------------------
+* fixed an NPE that occurred while loading Hibernate classes in IBM JVM
+* arbitrary JNDI InitialContext properties may now be passed as hibernate.jndi.*
+* fixed a problem where index column was not being nullified when an entity was removed from a one-to-many
+
+Changes in version 1.2.1 (31.12.2002)
+-------------------------------------
+* Changed the MySQL mapping of Hibernate "timestamp" to MySQL "DATETIME" (Matthias Schwinn)
+* TransactionManagerLookup classes now define defaut UserTransaction JNDI names
+* support for WebSphere 5 (Venkat Srinivasan)
+* fixed a bug with query expressions of the form "foo.bar.id" for normalized mappings
+* experimental Blob/Clob support (thanks to Benoit Menendez and Mark Woon)
+* improvements to SchemaUpdater (Benoit Menendez)
+* deprecated suspendFlushes() / resumeFlushes() in favor of FlushMode
+* deprecated IDGenerationException in favor of IdentifierGenerationException
+* fixed a bug introduced in 1.2 final where cascade save-update was sometimes ignored for readonly="true" bags
+* fixed a bug caching null-valued one-to-one associations
+* CodeGenerator now supports <bag> and <joined-subclass>
+* fixed problem with TimestampType on DB2 (Jonas)
+* fixed a bug in generated SQL for collections with <joined-subclass> mappings (Robson Miranda)
+* fixed a bug caching Maps (Benoit Menendez)
+* SchemaExport now accepts a .jar file as a source of mappings
+* hibernate.dbcp.validationQuery setting (Juozas Baliuka)
+* hibernate.c3p0.validate setting
+* added Query.setTimeout()
+* setMaxResults() now behaves sensibly on SAPDB (Russel Smyth)
+* added Query.setProperties() and Query.getNamedParameters(), fixed a bug in Query.getReturnTypes()
+* CodeGenerator now generates equals() and hashCode() for composite-id classes (and toString() for all classes)
+* CodeGenerator now includes superclass properties in subclass constructors (Max Andersen)
+* added Hibernate.custom()
+
+Changes in version 1.2 final (7.12.2002)
+----------------------------------------
+* fixed a bug where uppercase IS NOT NULL, NOT IN, etc were not parsed correctly
+* addition to readonly="true" bags now no longer requires collection initialization
+* added ResinTransactionManagerLookup (Aapo Laakkonen)
+* improved exception message when setting null to primitive type (Max Andersen)
+* improved exception message for an unserializable identifier
+* support for overloaded setter methods (patch by Alex Staubo)
+* CodeGenerator support for <composite-element> (patch by Wolfgang Jung)
+
+Changes in version 1.2 beta 4 (29.11.2002)
+------------------------------------------
+* fixed bugs in one-to-many associations to a <joined-subclass>
+* LockMode class now properly serializable
+* exceptions thrown by proxied objects are now propagated correctly (rather than being wrapped)
+* made Calendar types compilable in JDK1.2
+* added --format and --delimiter options to SchemaExport (thanks to Richard Mixon)
+* fix for problem with class with no properties + native id generation + MS SQL Server contributed by Max Andersen
+* fixed a BAD bug in Hibernate.configure() (thanks to Rob Stokes)
+* CodeGenerator now recognizes <key-many-to-one> (patch by Wolfgang Jung)
+* CodeGenerator now recognizes <version> and <timestamp> (patch by Max Andersen)
+
+Changes in version 1.2 beta 3 (26.11.2002)
+------------------------------------------
+* fixed bug in UPDATE SQL generation for <joined-subclass> mapping strategy (fix by Robson Miranda)
+* support <composite-id> correctly in CodeGenerator (patch by Tom Cellucci)
+* fixed an exception that occurred with short qualified tablenames
+* added the polymorphism attribute to the <class> element
+* allow "not between", "not in" in query language
+* allow subqueries beginning with a from clause in query language
+* query expressions like "not (foo.bar.baz=1)" now translated to "(bar.baz!=1 and foo.bar=bar.id)"
+* support for PostgreSQL ~ operator (regular expression match)
+* load(id, lockMode) now working for normalized table mappings
+* now compiling properly under JDK1.2, 1.3 (fix by Tom Cellucci)
+* support for subcollections in query language: foo.bars[2]['index'], foo.bars[4].elements, foo.bars[0].size, etc.
+* added calendar and calendar_date types
+* find() queries may now return scalar values
+* component-type properties may appear in a select clause
+* ConnectionProviders now set isolation level before toggle autocommit
+* Iterator.next() now throws NoSuchElementException as per Iterator contract (fix by Alex Staubo)
+* database reverse engineering GUI tool contributed by Tom Cellucci
+* SchemaExport now generates column in mapping file order (rather than alphabetical order)
+* <joined-subclass> mappings working on Oracle (?)
+
+Changes in version 1.2 beta 2 (15.11.2002)
+------------------------------------------
+* support multi-argument SQL functions in queries
+* reintroduced deprecated form of update() with slightly altered semantics
+* fixed BAD problem in the generated SQL for certain queries
+* added OrionTransactionManagerLookup
+
+Changes in version 1.2 beta 1 (11.11.2002)
+------------------------------------------
+* Fixed a bad bug binding to JNDI with servers that use serialization in preference to getReference()
+* support for quoted SQL identifiers (patch by Jean-Francois Nadeau)
+* Hibernate.initialize() allows the user to force initialization of a proxy or persistent collection
+* fix to minor bug in CodeGenerator by Max Andersen
+* fixed a problem with outerjoin fetching of one-to-one associations defined on subclasses
+* fixed a minor problem with proxies of classes that override finalize()
+* finished work on normalized table mappings using <joined-subclass> declaration (only for databases with ANSI OUTER JOIN and CASE)
+* deprecated hibernate-mapping.dtd in favor of hibernate-mapping-1.1.dtd
+* reworked unmapped class / interface / table-per-concrete-class query functionality, fixing several problems
+* removed deprecated methods
+* deprecated findIdentifiers()
+* fixed some problems with embedded composite identifiers
+* fixed a bug cascading deletes to one-to-one associations
+* CodeGenerator now generates isFoo() style getters for boolean properties (patch by Aapo Laakkonen)
+* components may now have a nonpublic constructor (patch by Jon Lipsky)
+* changes / bugfixes to MapGenerator tool
+* experimental SchemaUpdate tool contributed by Christoph Sturm
+
+Changes in version 1.1.8 (30.10.2002)
+-------------------------------------
+* full support for composite keys in query language
+* fixed bug where character type could not be null
+* fixed bug parsing collection filters like: "group by this.date"
+* fixed a bad bug where C3P0 properties were not always being used
+* replaced hibernate.use_jdbc_batch with hibernate.jdbc.batch_size
+* renamed some other properties to hibernate.jdbc.*
+* made hibernate.show_sql settable from JMX (patch by Matas Veitas)
+* added SessionFactory.getAllClassMetadata(), getAllCollectionMetadata (patch by Max Andersen)
+* allowed use of concrete-class proxies with inherited classes ie. <subclass name="ConcreteClass" proxy="ConcreteClass">
+* HibernateException extends Apache commons lang NestableException (patch by Max Andersen)
+* <parent> subelement of <component> allows a component to get a reference back to owning entity
+* Query.setParameterList() to bind lists of values to "in (:list)"
+* Java constants may now be used in Queries
+* serialization of an object graph now removes all initialized proxies
+* several other improvements to proxy handling
+* proxies may now be used in JDK 1.2
+
+Changes in version 1.1.7 (25.10.2002)
+-------------------------------------
+* added Session.createFilter()
+* fixed a bug parsing queries with properties of form idXXX (introduced in 1.1.6)
+* fixed a bug parsing queries with the id property named in the select clause (introduced in 1.1.6)
+* fixed a bug dirty checking big_decimal (fix by Andrea Aime)
+
+Changes in version 1.1.6 (24.10.2002)
+-------------------------------------
+* classes without subclasses may now declare themselves as their own proxy
+* outer-join attribute now working for component properties and <many-to-many>
+* outer-join="true" will now force outerjoin loading for an association even if associated class has a proxy
+* enabled oracle-style outerjoins for SAP DB
+* version properties may now be long or short (previously always integer)
+* discriminators may now be boolean type
+* fixed the foo.bar.id.baz syntax for queries doing composite-key joins
+* fixed an NPE that occurred when no Dialect was specified
+* CodeGenerator now fully proxy-aware (patch by Max Andersen)
+* removed dependency upon trove4j
+
+Changes in version 1.1.5b (20.10.2002)
+--------------------------------------
+* fixed an NPE that occurred on JMX startup
+* smarter fetching for one-to-one associations
+
+Changes in version 1.1.5 (19.10.2002)
+-------------------------------------
+* added built-in currency and timezone types
+* hibernate-mapping-1.1.dtd
+- added <index-many-to-many> and <composite-index> subelements of <map>
+- added <key-property> and <key-many-to-one>
+- renamed "save/update" to "save-update"
+- tightened up the dtd (now using enumerated attribute types)
+* enabled multi-column map indexes (ie. key of a Map)
+* composited-id may now include a many-to-one association
+* improvements to Databinder contributed by Brad Clow
+* fixed bugs in minIndex, maxIndex, minElement, maxElement
+* fixed a problem with JTATransaction in a JBoss BMT bean
+* added addMapResource() to the MBean
+* minor improvements to Configuration
+* more accurate cache entry timestamping to increase the likelihood of cache hits
+* JCS cache may now be used with JTATransaction in WebSphere, Weblogic, JBoss (thanks to Matt Baird)
+* improvements to CodeGenerator contributed by Andrea Aime
+* stopped a TransientObjectException that was being thrown when it shouldn't be
+* re-enabled primary key export for tables of sets with not-null elements
+* hibernate.statement.fetch_size configuration contributed by Matas Veitas
+* added Interceptor application callback interface
+* added metadata package to expose persistence metadata to the application
+* changed filter() argument type from Collection to Object to allow filtering of arrays and Maps
+* added <column> index attribute to allow table indexes to be specified in mapping document
+* implemented support for queries against interfaces and abstract superclasses
+
+Changes in version 1.1.4b (4.10.2002)
+-------------------------------------
+* fixed problems for JDK1.2 (thanks to Chris Webb)
+
+Changes in version 1.1.4 (4.10.2002)
+------------------------------------
+* New locking API
+* disabled 2-phase load for objects contained in Sets (because they should be initialized before equals() or hashCode() is called)
+* fixed a bug where non-serializable cache entries could not be cached by JCS auxiliary cache
+* fixed a bug in dirty checking PersistentEnums
+* deprecated getID() in favor of getIdentifier() (for mainly cosmetic reasons)
+* HibernateService may now be subclassed to obtain mapping files by some other mechanism (patch by Chris Winters)
+
+Changes in version 1.1.3 (1.10.2002)
+------------------------------------
+* new 2-phase loading process (replaces complicated "deferred" loading process)
+* new ScrollableResults interface for efficiently navigating Query results
+* removed deprecated interfaces
+* created engine package to hold "internal" APIs (ie. the external contract of the impl package)
+* fixed bug where a component defined before all collections in the mapping file caused collections to not be persisted (thanks to Michael Link)
+* fixed a bug where cascaded saveOrUpdate was ignoring the unsaved-value setting
+* faster Timestamp dirty checking
+
+Changes in version 1.1.2 (29.9.2002)
+------------------------------------
+* added persister attibute of class mapping to support custom persistence strategies
+* Support for Oracle outerjoins contributed by Jon Lipsky
+* Reworked versioning, fixing bugs (and tightening tests)
+* Fixed a bug where an ObjectNotFoundException was thrown for null one-to-one associations
+* fixed problems with timestamps introduced in 1.1.1
+* added batch file for running demo
+
+Changes in version 1.1.1 (27.9.2002)
+------------------------------------
+* Major refactoring / abstraction of persistence logic
+* added maxIndex, minIndex, maxElement, minElement properties for collections
+* added support for class names in where clause of queries
+* fixed a bug where an association could become null after caching
+* fixed a bug where an NPE could occur for a null component
+* fixed minor bugs in SortedMap, SortedSet
+* object type is now cacheable
+* added big_integer type
+* improved dirty checking for timestamp type
+
+Changes in version 1.1.0 (22.9.2002)
+------------------------------------
+* implemented collection indexing with [] in query language
+* fixed some minor query-language bugs
+
+Changes in version 1.1 beta 14 (19.9.2002)
+------------------------------------------
+* bags now implement java.util.List
+* delete() may now take a transient object
+* bug where sorted collections were not being sorted fixed by Brad Clow
+* fixed a bug in many-to-many association filtering
+* no longer try to query connection metadata when using user-supplied connections
+* added hibernate.use_scrollable_resultsets for user-supplied connections
+* fixed a problem where sublists were not being proxied
+* fixed a problem where Hibernate could not call methods of package-visibility classes
+* removed obsolete select attribute from MapGenerator
+* multiple occurrences of same path in a query no longer require multiple joins
+* added WrongClassException
+
+Changes in version 1.1 beta 13 (15.9.2002)
+------------------------------------------
+* added constants to Lifecycle interface
+* fix for circular cascade="save/update"
+* fixed a bug in cascaded update introduced in version 1.1 beta 11
+* added object type
+
+Changes in version 1.1 beta 12 (14.9.2002)
+------------------------------------------
+* Session.filter() for applying a filter query to collections
+* experimental ODMG API (OQL features are not yet compliant)
+* new DBCPConnectionProvider for Apache commons-dbcp connection pool
+* Session.lock() now does version number check even on databases with no FOR UPDATE clause
+* introduced new cascade styles: cascade="save/update", cascade="delete"
+* added default-cascade attribute
+* foreign key columns lengths now automatically set to primary key column lengths for SchemaExport
+* added error checking of row update counts when batching disabled
+* major improvements to ProxyGenerator tool
+* CodeGenerator now aware of proxy attribute
+* integrated PointbaseDialect contributed by Ed Mackenzie
+* fix for problem where Proxies were being initialized on identifier access by Christoph Sturm
+
+Changes in version 1.1 beta 11 (7.9.2002)
+-----------------------------------------
+* deprecated update() in favor of saveOrUpdate() and introduced unsaved-value attribute of <id>
+* children mapped with cascade="all" are now always saved/updated even without a call to update(parent)
+* support for composite-id classes where the composite id consists of properties of the persistent class
+* added constrained attribute to <one-to-one> element
+* added Validatable interface
+* renamed several config properties (Hibernate issues log warnings for obsolete property usage)
+* arbitrary JDBC connection properties may now be passed using hibernate.connection.*
+* fixed a classloading bug in C3P0ConnectionProvider (introduced in 1.1 beta 10)
+* CodeGenerator may now take multiple mapping files on the commandline
+
+Changes in version 1.1 beta 10 (28.8.2002)
+------------------------------------------
+* fixed a bug that occurred when calling Session.update() for an object with no properties
+* changed class loading to use the context classloader first
+* introduced <timestamp> as an alternative to <version>
+* added Query.getReturnTypes()
+* fixed a bug with composite-elements introduced in 1.1 beta 7
+* save() may now be used to persist classes with composite-ids
+* improved handling of nanoseconds values in Timestamps
+* support for composite id properties + objects in select clause of iterate()
+* beefed-up collection tests
+
+Changes in version 1.1 beta 9 (26.8.2002)
+-----------------------------------------
+* fixed a bug introduced in 1.1 beta 8 that could cause an NPE after deserializing a session with proxies
+* deprecated insert() in favor of more flexible save()
+* deprecated IDGenerator in favor of new IdentifierGenerator interface
+* "assigned" id generator now returns the existing value of the id property instead of throwing an Exception
+* fixed a problem where PreparedStatements were not being recached after retrieving a natively generated id
+
+Changes in version 1.1 beta 8 (25.8.2002)
+-----------------------------------------
+* fixed a bug introduced in 1.1 beta 6 where an updated element of an indexed one-to-many collection caused an SQLException
+* uninitialized collections passed to update() may now be initialized in the new Session
+* uninitialized proxies passed to update() may now be initialized in the new Session
+
+Changes in version 1.1 beta 7 (23.8.2002)
+-----------------------------------------
+* fixed a bug where Hibernate was not returning statements to the cache when batch updates were disabled
+* fixed a bad bug parsing mappings with toplevel one-to-many associations
+* fixed a bug with versioning and subcollections
+* reworked Set updates again for much improved efficiency
+* schema export now creates primary keys for indexed collection tables
+* minor refactor to Type hierarchy
+* improved some user-error detection
+* fixed foreign key constraint creation for MySQL with Innodb tables
+
+Changes in version 1.1 beta 6b (20.8.2002)
+------------------------------------------
+* Fixed a problem updating Sets
+* added <bag> mapping for java.util.Collection
+
+Changes in version 1.1 beta 6 (20.8.2002)
+-----------------------------------------
+* completely reworked fetching code
+- one-to-many associations now always fetched in a single select
+- many-to-many associations fetched in a single select when outerjoin fetching is enabled
+- this includes nested outerjoin fetching of the associated class!
+- outerjoin fetching for <many-to-one> nested inside <component> or <composite-element>
+- code refactored to be cleaner and faster
+* removed unnecessary order by clause in List and array fetching SQL
+* collections now individually update, insert and delete only rows that changed (thanks to Doug Currie)
+* fixed a problem where exceptions were being wrapped in a LazyInitializationException for non-lazy collections
+* added order-by attribute to <set> and <map> to specify a table column as defining the iteration order (JDK1.4 only)
+* improved error detection in Session.update()
+* further usage of JDBC2 batch updates
+* some fine-tuning of JDBC2 feature usage configuration
+* CodeGenerator will now generate components and arrays
+* fixed problem where CodeGenerator could not generate classes in the default package
+* improved logging of flush() activity
+* renamed property hibernate.use_jdbc2 to hibernate.use_jdbc_batch
+
+Changes in version 1.1 beta 5 (13.8.2002)
+-----------------------------------------
+* hibernate.query.imports property to allow use of unqualified classnames in queries
+* fixed a bug in collection flushing that was introduced in 1.1 beta 4
+
+Changes in version 1.1 beta 4 (11.8.2002)
+-----------------------------------------
+* JMX integration (thanks to John Urberg)
+* "having" clause in query language
+
+Changes in version 1.1 beta 3 (10.8.2002)
+-----------------------------------------
+* removed the select="all" attribute for <class> mappings - "select distinct" now specified in the hibernate query
+* system properties now override hibernate.properties
+* Session now flushes changes even less often (only when actual updates to the queried table(s) are waiting)
+* fixed a *very* rare problem where an unnecessary update could be accidently issued before a delete
+
+Changes in version 1.1 beta 2 (6.8.2002)
+----------------------------------------
+* fixed a bug exporting schemas with identity columns
+* implemented factory-level caching of collections
+* Datastore.storeJar() contributed by Christian Meunier
+* added <mapping jar="jarfile"> to hibernate.cfg.xml
+
+Changes in version 1.1 beta 1 (4.8.2002)
+----------------------------------------
+* new Query API including named parameters, pageable results
+* subqueries in Hibernate queries (only for databases that support subselects)
+* new DocBook documentation (contributed by Christian Bauer)
+* support collections .elements, .indices inside select clause (even in aggregate functions)
+* don't load collections before removal unless absolutely necessary
+* mutable="false" attribute in <class> element to map immutable classes
+* use JDBC batch to insert collection elements if hibernate.use_jdbc2 is set
+* brand new PreparedStatementCache
+* improvements to MYSQL dialect for long datatypes
+* always check isAccessible() before setAccessible(true)
+* removed extra unnecessary table join in queries with one-to-many association
+* removed ugly "WHERE 1=1" from generated SQL
+* fixed exception mapping a class with no properties (fix by Rob Stokes)
+* logging enhancements including SQLException logging
+* reworked factory-level cache and integrated JCS support (thanks to Christian Meunier)
+* fixed a bug with circular references in cached data
+* removed blocking cache support
+* now rendering outerjoins as "LEFT OUTER JOIN" because "LEFT JOIN" caused problems for some Sybase versions
+* added default Hibernate properties to Dialects
+* native id generation now falls back to sequence id generation when identity columns not supported by the dialect
+* fixed some problems with native id generation under HSQL
+* may now use Session.insert() even when using native id generation
+
+Changes in version 1.0.1b (18.7.2002)
+-------------------------------------
+* fixed a bad bug in query parser when hibernate.query.substitutions was unset
+* much improved build.xml Ant script
+* latest c3p0.jar
+
+Changes in version 1.0.1 (17.7.2002)
+------------------------------------
+* enabled use of scalar values and aggregate SQL functions in select clause of iterate() queries
+* fixed bug in JNDI lookup for SessionFactory
+* changed ordering of SQL inserts/deletes for child collections of a cascade-enabled association
+- better behaviour for some not-null constraints
+- performance optimization for bidirectional many-to-one associations
+* added hibernate.query.substitutions property to allow named query constants (eg. translate 'true' to '1')
+* added locale type for java.util.Locale
+* added sequence hi/lo generator (seqhilo.long)
+* fixed bug where load(), onLoad() callbacks were sometimes called at wrong time
+* fixed an exception (fix by Eric Everman) and improved identifier searching in MapGenerator tool
+* refactored SerializableType
+* extra logging + error handling
+* documentation enhancements
+
+Changes in version 0.9.17 (3.7.2002)
+------------------------------------
+* Added UserType interface
+* documented Lifecycle
+* added some new trace messages to log
+* bugfix to allow SQL functions like upper(), lower(), etc to work on all platforms
+* documented SAP DB support (dialect contributed by Brad Clow)
+* foreign key constraint export for SAP DB
+* map index may be the composite-id of the element class (contributed by Jon Lipsky)
+* fixes to CodeGenerator tool (contributed by Uros Jurglic)
+
+Changes in version 0.9.16 (19.6.2002)
+------------------------------------
+* fixed bug cacheing objects with references to themselves
+* support for composite ids of classes with no id property
+* may now disable outer join (deep) fetching for an association by setting outer-join="false"
+* enabled outer join fetching for one-to-one
+* fixed a bug for mappings that specify class attribute of <one-to-many>
+* fixed a bug where Hashbelt did not expire cached data in a timely fashion
+* fixed a mistake in the mapping DTD
+* new user-error check in update()
+
+Changes in version 0.9.15 (15.6.2002)
+------------------------------------
+* one-to-one associations
+* support for "tricky" mappings in SchemaExport tool (multiple properties to one column, etc)
+* Transaction API contributed by Anton van Straaten
+* SessionFactory may be bound to JNDI name by setting hibernate.session_factory_name
+* Sessions are now Serializable!
+* added Session.findIdentifiers() query methods
+* new Lifecycle interface to replace deprecated PersistentLifecycle
+* fixed problem where session did not autoflush on iterate() queries
+* performance enhancements to collection dirty checking
+* added Hibernate.configure() and configuration file format
+* removed some deprecated methods
+* refactored Type hierarchy
+* query language identifiers now case sensitive (bugfix for case sensitive SQL dialects)
+* username/password now optional for datasource (contributed by Emmanuel Bourg)
+* much improved API documentation
+* binary types now saved using streams if hibernate.use_streams_for_binary=true (contributed by Jon Lipsky)
+* MySQL Strings now mapped to TEXT columns if length > 255 (contributed by Christoph Beck)
+
+Changes in version 0.9.14 (4.6.2002)
+-------------------------------------
+* lifecycle objects - properties now have a cascade attribute to cascade save, update, delete
+* composite id properties may now be used in queries eg. foo.id.bar (contributed by Jon Lipsky)
+* slightly changed semantics of update() so it now also save()s new transient instances
+* Session now flushes() itself less often before query execution (performance enhancement)
+* fixed problem where Session.save() returned null instead of the natively generated id
+* fixed bug with object identity for cached classes
+* fixed bug where delete(x) could not be called after update(x)
+* MUCH improved Exception hierarchy
+* deprecated create()
+* added sql-type attribute to <column> tag to allow user to override default type mapping
+* deeper fetching with use_outer_join
+* new ConnectionProvider framework
+* fixed a bug where blocking cache could return stale data
+* now working again in JDK1.2.2
+* fixed problem with not-null associations + native key generation
+* minor changes to PersistentLifecycle interface
+* initial, minimal version of new Transaction mechanism
+* MUCH improved documentation
+
+Changes in version 0.9.13 (25.5.2002)
+-------------------------------------
+* Datastore.storeResource() to load mapping files from classpath
+* fixed a problem executing under JDK1.3 when compiled from JDK1.4
+* documentation improvements
+
+Changes in version 0.9.12 (24.5.2002)
+------------------------------------
+* Session.update() methods to update a persistent instance from transient copy (as requested by many users)
+* discriminator column name, type, length, etc now configurable by <discriminator> tag in mapping file
+* discriminator column values configurable by discriminator-value attribute of <class> and <subclass> tags
+* added Session.insert(object, id) for classes with no identifier property
+* fixed another bad bug with connection handling (fix by Anton van Straaten)
+* fixed a problem with deferred loading
+* fixed a problem with sorted collections (fix by Anton van Straaten)
+* nested collections of objects now require 2 SQL SELECTs to load, rather than size+1
+* session is NO LONGER atomic - application should discard session when exception occurs
+* fixed problem where character type was mapped to VARCHAR column
+* arrays of proxies now possible by using new element-class attribute of <array> tag
+* fixed various problems with proxies
+* added proxy generation tool
+* proxy unit tests
+* replaced two RuntimeExceptions with checked exceptions
+* made hibernate.username/hibernate.password optional for DriverManager
+* CodeGenerator now supports all hibernate basic types
+* much improved caching algorithm for compiled queries
+* may now specify properties simply by placing hibernate.properties in classpath
+* documentation improvements + fixes
+* --abstract switch to MapGenerator (contributed by Eric Everman)
+
+Changes in version 0.9.11 (12.5.2002)
+------------------------------------
+* fixed major bug with connection handling (fix by Anton van Straaten)
+
+Changes in version 0.9.10 (11.5.2002)
+------------------------------------
+* set a default schema name using SessionFactory property hibernate.default_schema
+* code generator tool contributed by Brad Clow (www.workingmouse.com)
+* lazy object initialization under JDK 1.3 and above
+* fixed some error messages to go to logging framework, not stdout
+* new system property hibernate.show_sql=true logs all executed SQL to stdout
+* integration of bugfixes in c3p0
+* wrap IllegalArgumentExceptions in HibernateExceptions
+* added ObjectNotFoundException and StaleObjectStateException
+* fixed a bug when using schemas
+* new caching strategy (and documented cache feature)
+
+Changes in version 0.9.9 (25.4.2002)
+-----------------------------------
+* sorted sets and maps (thanks to Doug Currie)
+* mapping files may now be loaded using getResourceAsStream() (thanks to Markus Meissner)
+* hibernate messages now logged by Apache commons-logging
+* default hi/lo generator table now has column named "next_id", instead of "next"
+* query language may now refer to identifier property name (eg. foo.fooKey as alternative to foo.id)
+* hibernate.jndi_class, hibernate.jndi_url now optional when using datasource
+* hibernate now throws an exception if you try to persist an object with a reference to a transient object
+* improved connection pooling algorithm (hibernate.pool_size limits pooled conections)
+* very experimental integration of c3p0 JDBC connection pool (http://sourceforge.net/projects/c3p0)
+* now compiles under JDK 1.2.2
+* fixed bug persisting null components
+* fixed bug where cached prepared statements were not cleaned up after disconnect() session
+* fixed a null pointer exception in MappingByReflection
+
+Changes in version 0.9.8 (13.3.2002)
+-----------------------------------
+* supports database native key generation in Sybase, MS SQL, MySQL, DB2, Hypersonic (contributed by Christoph Sturm)
+* supports Mckoi (dialect contributed by Doug Currie)
+* supports Progress (dialect contributed by Phillip Baird)
+* added exceptions to catch Session reentrancy from PersistentLifecycle.load() + store()
+* experimental cross-transaction cache
+* Session.lock() and Session.loadWithLock() for pessimistic locking
+* HiLoGenerators may now use their own DriverManager connection properties + may now use same table across diff mapping files
+* Session.flush(), Session.close() and Session.connection() replace Session.commit(), Session.cancel()
+* Session.disconnect() and Session.reconnect() for long transactions
+* added single JVM id generators vm.long, vm.hex
+* added unique column constraints to mappings
+* extensions to IDGenerator framework
+* support sequence-style ID generation in Oracle, PostgreSQL, DB2, Interbase
+
+* fixed problem where subcollections of a collection that changed roles would be deleted
+* changed class loading strategy to be compatible with JBoss
+* stopped queries retrieving unnecessary columns
+* mutable types (binary + serializable) now always detected as dirty
+
+Changes in version 0.9.7 (26.2.2002)
+-----------------------------------
+* save() now safe from foreign key violations (so create() is no longer preferred method of adding data)
+* delete() now completely safe from foreign key violations - it no longer matters what order objects are deleted in
+* removed Session.copy()
+* hilo generators now NOT for use with application server datasources
+
+* fixed two intermittent bugs in queries
+* fixed a problem where components not detected as dirty
+* fixed broken hilo generator which was not updating database
+* fixed a minor bug when hibernate.use_outer_join was set
+
+Changes in version 0.9.6 (24.2.2002)
+-----------------------------------
+* experimental XML generation
+* added support for bi-directional associations (one-to-set, set-to-set) with <set readonly="true"> config
+* reflective generation of mappings tool was contributed by Doug Currie
+* Session operations now atomic, so exceptions are recoverable
+* made ID properties optional in persistent classes
+* support for multiple schemas through schema attribute of <hibernate-mapping>, <class>, <set>, <map>, etc.
+* auto-creation of tables for hilo id generators (restriction: cannot use same table from more than one mapping file)
+* added some more assertions to catch user "mistakes" like deleting transient or saving persistent objects
+
+* major rework of collections and fixed some bad bugs
+* lazy initialization re-enabled for one-to-many associations (thanks to Georg Schneemayer)
+* fixed a problem in the mapping DTD to allow nested components in collections
+* fixed a BAD bug in RelationalDatabaseSession when loading objects with PersistentLifecycle callbacks (thanks to Paul Szego)
+* fixed problems with quoted strings in query language
+* fixed a bug where a stack overflow occurred instead of HibernateException thrown (thanks to Georg Schneemayer)
+* fixed a bug deleting updated versioned data
+* fixed some problems with name generation for indexes + foreign keys
+* fixed problem in Sun JDK 1.4 (only?) where IllegalArgumentException was not handled
+* minor improvements to handling of dates and times
+* HiLoGenerator now safe for all transaction isolation levels + safe when rollback occurs
+* noticed and fixed obscure piece of nonthreadsafe code outside of core persistence engine
+* removed unnecessary drop constraints for some dialects
+
+* MUCH more comprehensive test suite
+
+* changed some terminology used in documentation
+* added javadoc for API classes
+* commented the mapping DTD
+
+Changes in version 0.9.5 (8.2.2002)
+-----------------------------------
+* supports HypersonicSQL (dialect contributed by Phillip Baird)
+* supports Microsoft SQL server (with third party JDBC driver)
+* proper command-line tool for schema generation and export
+* deprecated the interface cirrus.hibernate.Persistent (due to popular demand)
+* changes to hibernate-mapping DTD (required to support optional Persistent interface):
+- deprecated <property type="package.PersistentClassName"/> in favor of <many-to-one class="package.PersistentClassName"/>
+- deprecated <element type="package.PersistentClassName"/> in favor of <many-to-many class="package.PersistentClassName"/>
+- deprecated <property role="..."/> in favor of <collection role="..."/>
+- deprecated <element role=".."/> in favor of <subcollection role="..."/>
+- deprecated <association> in favor of <one-to-many>
+* class attribute optional in <component> and <composite-id> tags (determined by reflection)
+* querying components of components now supported
+* one-shot table creation (no use of unportable "alter table")
+* time dataype support
+* reflective mappings of java.sql.Time, java.sql.Timestamp, java.sql.Date
+* fixed error msg thrown when class is missing a method but has a superclass
+* property names now conform to JavaBean spec ("foo" instead of "Foo"). Note that "Foo" still works
+* constructors of persistent classes may now be non-public
+* collection indexes now mapped to not-null columns
+* fixed obscure bug with querying collections inside components of components
+* fixed potential bug related to cacheing of compiled queries
+* major rewrite of code relating to O-R mappings
+* Session.copy() and Session.equals() as convenience for users
+* fixed repeated invocations of hasNext() on iterator + iterators now always work with distinct SQL resultsets
+* McKoi dialect was contributed by Gabe Hicks
+
+Changes in version 0.9.4 (29.1.2002)
+------------------------------------
+* fixed BAD bug where XML parsing would not work for parsers other than Xerces - thanks to Christian Winkler
+* added some more assertions to catch user "mistakes" like changing ids or reusing existing ids
+
+Changes in version 0.9.3 (27.1.2002)
+------------------------------------
+* repackaged (corrupted DatasourceConnectionProvider.class)
+* better exception reporting using datasource
+* added Datastore.storeClass() which looks for mapping file in classpath (class foo.Bar -> foo/Bar.hbm.xml)
+* improved documentation
+
+Changes in version 0.9.2 (25.1.2002)
+------------------------------------
+* iterate over query results (lazy instantiation of query results)
+* added "select foo, bar" style queries returning multiple objects per row
+* delete by query
+* composite key support
+* outer joins for faster (?) loading of associated objects ( set "hibernate.use_outer_join" to "true" )
+* connection pooling when using DriverManager
+* foreign key constraint from unkeyed collection table to owner entity table
+* improved drop tables script execution (still not infallible)
+* added <composite-element> tag
+* added not-null properties and elements
+* added an optimisation for dates and components
+* made some XML attributes optional
+* fixed errors in documentation + documented some extra features
+* bugfix: store() not getting called on lifecycle interface
+* bugfix: schema generation for indexed associations
+* added many tests
+
+Changes in version 0.9.1 (20.1.2002)
+------------------------------------
+Too many to list
+
+version 0.8.1
+-------------
+Initial alpha version
+
Copied: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/hibernate_logo.gif (from rev 21086, core/tags/hibernate-3.3.2.GA_CP04/hibernate_logo.gif)
===================================================================
(Binary files differ)
Copied: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/lgpl.txt (from rev 21086, core/tags/hibernate-3.3.2.GA_CP04/lgpl.txt)
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/lgpl.txt (rev 0)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/lgpl.txt 2012-12-10 16:26:32 UTC (rev 21087)
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
Copied: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/pom.xml (from rev 21086, core/tags/hibernate-3.3.2.GA_CP04/pom.xml)
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/pom.xml (rev 0)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/pom.xml 2012-12-10 16:26:32 UTC (rev 21087)
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+
+<!--
+ ~ Hibernate, Relational Persistence for Idiomatic Java
+ ~
+ ~ Copyright (c) 2011, Red Hat Inc. or third-party contributors as
+ ~ indicated by the @author tags or express copyright attribution
+ ~ statements applied by the authors. All third-party contributions are
+ ~ distributed under license by Red Hat Inc.
+ ~
+ ~ This copyrighted material is made available to anyone wishing to use, modify,
+ ~ copy, or redistribute it subject to the terms and conditions of the GNU
+ ~ Lesser General Public License, as published by the Free Software Foundation.
+ ~
+ ~ This program is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ ~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ ~ for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public License
+ ~ along with this distribution; if not, write to:
+ ~ Free Software Foundation, Inc.
+ ~ 51 Franklin Street, Fifth Floor
+ ~ Boston, MA 02110-1301 USA
+ ~
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-parent</artifactId>
+ <version>3.3.2.GA_CP04</version>
+ <relativePath>parent/pom.xml</relativePath>
+ </parent>
+
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <packaging>pom</packaging>
+
+ <name>Hibernate Core Aggregator</name>
+ <description>Aggregator of the Hibernate Core modules.</description>
+
+ <modules>
+ <module>parent</module>
+ <module>core</module>
+ <module>cache-ehcache</module>
+ <module>cache-jbosscache2</module>
+ <module>cache-oscache</module>
+ <module>cache-swarmcache</module>
+ <module>connection-c3p0</module>
+ <module>connection-proxool</module>
+ <module>jdbc4-testing</module>
+ <module>jdbc3-testing</module>
+ <module>jmx</module>
+ <module>testing</module>
+ <module>testsuite</module>
+ <module>tutorials</module>
+ <module>distribution</module>
+ </modules>
+
+ <scm>
+ <connection>scm:svn:https://svn.jboss.org/repos/hibernate/core/tags/hibernate-3.3.2.G...</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/hibernate/core/tags/hibernate-3.3.2.G...</developerConnection>
+ <url>https://svn.jboss.org/repos/hibernate/core/tags/hibernate-3.3.2.GA_CP04</url>
+ </scm>
+</project>
\ No newline at end of file
11 years, 8 months
Hibernate SVN: r21086 - core/patches.
by hibernate-commits@lists.jboss.org
Author: brmeyer
Date: 2012-12-10 11:25:04 -0500 (Mon, 10 Dec 2012)
New Revision: 21086
Removed:
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/
Log:
Branching for JBPAPP-10486 one-off patch
11 years, 8 months
Hibernate SVN: r21085 - in entitymanager/patches: 3.4.0.GA_CP04_JBPAPP-10486 and 1 other directory.
by hibernate-commits@lists.jboss.org
Author: brmeyer
Date: 2012-12-10 11:06:41 -0500 (Mon, 10 Dec 2012)
New Revision: 21085
Added:
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/build.xml
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/lgpl.txt
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/pom.xml
entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/src/
Log:
Branching for JBPAPP-10486 one-off patch
Copied: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/build.xml (from rev 21084, entitymanager/branches/v3_4_0_GA_CP/build.xml)
===================================================================
--- entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/build.xml (rev 0)
+++ entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/build.xml 2012-12-10 16:06:41 UTC (rev 21085)
@@ -0,0 +1,97 @@
+<!-- $Id$ -->
+<!--
+ Hibernate Entity Manager ANT build script.
+-->
+
+<project name="HibernateEntityManager" basedir=".">
+
+ <target name="packjar">
+ <property name="extension" value="jar"/>
+ <property name="packagename" value="${jarname}"/>
+ <property name="headerdirectory" value="."/>
+ <mkdir dir="${package.dir}"/>
+ <mkdir dir="${package.tmp.dir}/${headerdirectory}"/>
+ <copy todir="${package.tmp.dir}/${headerdirectory}">
+ <fileset dir="${classes.dir}">
+ <include name="**/test/pack/${packagename}/**.*"/>
+ </fileset>
+ </copy>
+ <jar destfile="${package.dir}/${jarname}.${extension}">
+ <fileset dir="${package.tmp.dir}">
+ <include name="**/*.*"/>
+ </fileset>
+ <fileset dir="${testresources.dir}/${jarname}">
+ <include name="**/*.*"/>
+ </fileset>
+ </jar>
+ <delete dir="${package.tmp.dir}"/>
+ </target>
+
+ <target name="packexploded">
+ <property name="extension" value="jar"/>
+ <mkdir dir="${package.dir}/${jarname}.${extension}"/>
+ <copy todir="${package.dir}/${jarname}.${extension}">
+ <fileset dir="${classes.dir}">
+ <include name="**/test/pack/${jarname}/**.*"/>
+ </fileset>
+ <fileset dir="${testresources.dir}/${jarname}">
+ <include name="**/*.*"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="package" description="Prepare all needed jars and pars">
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="defaultpar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="space par"/>
+ <param name="packagename" value="spacepar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="explicitpar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="excludehbmpar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="jar"/>
+ <param name="jarname" value="externaljar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="cfgxmlpar"/>
+ </antcall>
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="jar"/>
+ <param name="jarname" value="overridenpar"/>
+ </antcall>
+
+ <!-- nested jar -->
+ <jar destfile="${package.dir}/nestedjar.ear">
+ <fileset dir="${package.dir}">
+ <include name="defaultpar.par"/>
+ </fileset>
+ </jar>
+ <copy todir="${package.dir}/nesteddir.ear">
+ <fileset dir="${package.dir}">
+ <include name="defaultpar.par"/>
+ </fileset>
+ </copy>
+
+ <antcall target="packjar" inheritall="true">
+ <param name="extension" value="war"/>
+ <param name="jarname" value="war"/>
+ <param name="headerdirectory" value="WEB-INF/classes"/>
+ </antcall>
+
+ <antcall target="packexploded" inheritall="true">
+ <param name="extension" value="par"/>
+ <param name="jarname" value="explodedpar"/>
+ </antcall>
+ </target>
+</project>
Copied: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/lgpl.txt (from rev 21084, entitymanager/branches/v3_4_0_GA_CP/lgpl.txt)
===================================================================
--- entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/lgpl.txt (rev 0)
+++ entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/lgpl.txt 2012-12-10 16:06:41 UTC (rev 21085)
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
Copied: entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/pom.xml (from rev 21084, entitymanager/branches/v3_4_0_GA_CP/pom.xml)
===================================================================
--- entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/pom.xml (rev 0)
+++ entitymanager/patches/3.4.0.GA_CP04_JBPAPP-10486/pom.xml 2012-12-10 16:06:41 UTC (rev 21085)
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Hibernate, Relational Persistence for Idiomatic Java
+ ~
+ ~ Copyright (c) 2011, Red Hat Inc. or third-party contributors as
+ ~ indicated by the @author tags or express copyright attribution
+ ~ statements applied by the authors. All third-party contributions are
+ ~ distributed under license by Red Hat Inc.
+ ~
+ ~ This copyrighted material is made available to anyone wishing to use, modify,
+ ~ copy, or redistribute it subject to the terms and conditions of the GNU
+ ~ Lesser General Public License, as published by the Free Software Foundation.
+ ~
+ ~ This program is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ ~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ ~ for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public License
+ ~ along with this distribution; if not, write to:
+ ~ Free Software Foundation, Inc.
+ ~ 51 Franklin Street, Fifth Floor
+ ~ Boston, MA 02110-1301 USA
+ ~
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-parent</artifactId>
+ <version>3.3.2.GA_CP05</version>
+ </parent>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <packaging>jar</packaging>
+ <version>3.4.0.GA_CP05</version>
+
+ <name>Hibernate Entity Manager</name>
+ <description>Hibernate Entity Manager</description>
+ <url>http://entitymanager.hibernate.org</url>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>ejb3-persistence</artifactId>
+ <version>1.0.2.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>3.1.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.4.0.GA_CP05</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>3.3.2.GA_CP05</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-testing</artifactId>
+ <version>3.3.2.GA_CP05</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-transaction-api</artifactId>
+ <version>1.0.1.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>javassist</groupId>
+ <artifactId>javassist</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <testResources>
+ <testResource>
+ <filtering>true</filtering>
+ <directory>src/test/resources</directory>
+ </testResource>
+ <testResource>
+ <filtering>true</filtering>
+ <directory>src/test/bundles</directory>
+ <targetPath>../bundles</targetPath>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-injection-plugin</artifactId>
+ <version>1.0.2</version>
+ <executions>
+ <execution>
+ <phase>compile</phase>
+ <goals>
+ <goal>bytecode</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <bytecodeInjections>
+ <bytecodeInjection>
+ <expression>${pom.version}</expression>
+ <targetMembers>
+ <constant>
+ <className>org.hibernate.ejb.Version</className>
+ <fieldName>VERSION</fieldName>
+ </constant>
+ <methodBodyReturn>
+ <className>org.hibernate.ejb.Version</className>
+ <methodName>getVersionString</methodName>
+ </methodBodyReturn>
+ </targetMembers>
+ </bytecodeInjection>
+ </bytecodeInjections>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package-tests</id>
+ <phase>process-test-classes</phase>
+ <configuration>
+ <tasks>
+ <property name="package.dir" value="${basedir}/target/test-packages" />
+ <property name="package.tmp.dir" value="${basedir}/target/tmp" />
+ <property name="classes.dir" value="${project.build.directory}/test-classes" />
+ <property name="testresources.dir" value="${basedir}/target/bundles" />
+ <ant antfile="${basedir}/build.xml">
+ <target name="package" />
+ </ant>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- add specification/implementation details to the manifests -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <addMavenDescriptor>false</addMavenDescriptor>
+ <manifest>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ <manifestEntries>
+ <Specification-Vendor>jcp.org</Specification-Vendor>
+ <Specification-Version>1.0</Specification-Version>
+ <Specification-Title>Java Persistence</Specification-Title>
+ <Implementation-Vendor-Id>hibernate.org</Implementation-Vendor-Id>
+ <Implementation-Vendor>hibernate.org</Implementation-Vendor>
+ <Implementation-URL>http://entitymanager.hibernate.org</Implementation-URL>
+ <Implementation-Title>Hibernate EntityManager</Implementation-Title>
+ <Implementation-Version>${version}</Implementation-Version>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <forkMode>pertest</forkMode>
+ <additionalClasspathElements>
+ <additionalClasspathElement>${basedir}/target/test-packages/cfgxmlpar.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/defaultpar.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/excludehbmpar.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/explicitpar.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/explodedpar.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/externaljar.jar</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/overridenpar.jar</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/space par.par</additionalClasspathElement>
+ <additionalClasspathElement>${basedir}/target/test-packages/war.war</additionalClasspathElement>
+ </additionalClasspathElements>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/dist.xml</descriptor>
+ </descriptors>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://download.oracle.com/javase/6/docs/api/</link>
+ <link>http://download.oracle.com/javaee/6/api/</link>
+ </links>
+ <stylesheetfile>${basedir}/src/main/javadoc/jdstyle.css</stylesheetfile>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
\ No newline at end of file
11 years, 8 months
Hibernate SVN: r21084 - in core/patches: hibernate-3.3.2.GA_CP04_JBPAPP-10486 and 1 other directory.
by hibernate-commits@lists.jboss.org
Author: brmeyer
Date: 2012-12-10 10:32:10 -0500 (Mon, 10 Dec 2012)
New Revision: 21084
Added:
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/cache-ehcache/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/cache-infinispan/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/cache-jbosscache/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/cache-oscache/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/cache-swarmcache/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/changelog.txt
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/connection-c3p0/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/connection-proxool/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/core/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/distribution/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/documentation/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/entitymanager/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/envers/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/etc/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/hibernate_logo.gif
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/jdbc3-testing/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/jdbc4-testing/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/lgpl.txt
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/parent/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/pom.xml
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/tagRelease.sh
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/testing/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/testsuite/
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/tutorials/
Log:
Branching for JBPAPP-10486 one-off patch
Copied: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/changelog.txt (from rev 21083, core/trunk/changelog.txt)
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/changelog.txt (rev 0)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/changelog.txt 2012-12-10 15:32:10 UTC (rev 21084)
@@ -0,0 +1,3603 @@
+Hibernate Changelog
+===================
+Note: Newer entries are automatically generated and the description might not
+match the actual issue resolution (i.e. a bug might not be a bug). Please
+refer to the particular case on JIRA using the issue tracking number to learn
+more about each case.
+
+Changes in version 3.6.0.CR2 (2010.09.29)
+-------------------------------------------
+http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11131
+
+** Bug
+ * [HHH-892] - HQL parser does not resolve alias in ORDER BY clause
+ * [HHH-2917] - Using subselects as operands for arithmetic operations causes NullPointerException
+ * [HHH-4510] - Add column-level read/write support (HHH-4440) to annotations
+ * [HHH-5490] - dirty data be inserted into 2L cache
+ * [HHH-5552] - Infinispan listener implementations need to load entities and keys using application classloader.
+ * [HHH-5563] - JndiInfinispanRegionFactory creates region with a stopped cache, if region previously existed
+ * [HHH-5568] - correct wrong format in document
+ * [HHH-5573] - Change TestCase to rebuildSessionFactory() whenever sessions var is accessed
+ * [HHH-5590] - Don't log and rethrow exceptions in AbstractFlushingEventListener
+ * [HHH-5591] - ConcurrentStatisticsImpl#queryExecuted() does not update queryExecutionMaxTimeQueryString
+ * [HHH-5592] - org.hibernate.test.hql.ASTParserLoadingOrderByTest hangs on postgresql
+ * [HHH-5593] - org.hibernate.test.legacy.FooBarTest.testCollectionWhere fails on hsqldb
+ * [HHH-5594] - org.hibernate.test.jpa.lock.JPALockTest fails on hsqldb
+ * [HHH-5595] - postgresql jdbc driver does not implement the setQueryTimeout method
+ * [HHH-5596] - org.hibernate.test.annotations.onetoone.OneToOneTest.testPkOneToOneSelectStatementDoesNotGenerateExtraJoin() fails on postgresql
+ * [HHH-5597] - org.hibernate.test.criteria.LikeTest.testLike fails on postgresql because of the default escape charactor
+
+** Improvement
+ * [HHH-5560] - Envers ValidAuditTimeStrategy needs a better name
+ * [HHH-5589] - mysql does not support column check
+
+** New Feature
+ * [HHH-5190] - Provide annotation support for <discriminator>'s force and insert
+ * [HHH-5205] - Add support for source="db" for timestamp versions
+
+** Patch
+ * [HHH-5581] - Improve InformixDialect sequence support
+
+
+Changes in version 3.6.0.CR1 (2010.09.15)
+-------------------------------------------
+http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11141
+
+** Sub-task
+ * [HHH-3766] - Modify the queries executed to use the "end-revision" column, when available
+ * [HHH-5446] - Write an envers tutorial guide
+ * [HHH-5499] - Extend AuditReader interface with findRevisions() method
+
+** Bug
+ * [HHH-5310] - orm_2_0.xsd compliant mapping files break in JEE use cases
+ * [HHH-5356] - Sybase 15 does not support cross join
+ * [HHH-5484] - org.hibernate.type.UUIDCharType incorrectly mapped to char and causes test fail due to the padding space
+ * [HHH-5542] - Infinispan region factory uses same cache instance for all timestamp regions
+ * [HHH-5545] - Resolve query cache results not up to date testsuite failures
+
+** Improvement
+ * [HHH-3709] - Add StartRevision/EndRevison fileds to audit tables
+ * [HHH-5372] - Improve envers query performance by using new REVEND column
+ * [HHH-5441] - Create "Getting Started Guide"
+ * [HHH-5543] - JEE bootstrapping should only parse and validate mapping files once
+ * [HHH-5557] - Sybase supports alias length upto 30 characters
+ * [HHH-5564] - Upgrade to Infinispan 4.2.x
+
+** Task
+ * [HHH-5524] - Move tagRelease.sh into svn
+
+
+Changes in version 3.6.0.Beta4 (2010.09.01)
+-------------------------------------------
+http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11140
+
+** Sub-task
+ * [HHH-5442] - Write native tutorial chapter
+ * [HHH-5444] - Write annotations tutorial chapter
+ * [HHH-5445] - Write a jpa/entitymanager tutorial guide
+ * [HHH-5462] - Write preface
+ * [HHH-5463] - Write a community chapter
+
+** Bug
+ * [HHH-817] - Projection aliases should not be applied to where-clause (Milosz Tylenda)
+ * [HHH-1189] - interfaces for Proxies are not regonized as interfaces
+ * [HHH-3334] - Cascade-save breaks if parent ID is assigned (delays insert) and child has identity ID (early insert) (Wallace Wadge)
+ * [HHH-5142] - Exception when initializing lazy @ManyToMany indexed collection containing not audited entities
+ * [HHH-5225] - Cannot parse order-by fragment if it contains a registered function without parentheses
+ * [HHH-5440] - Joined collection expressions not properly "rendered" in JPA Criteria queries
+ * [HHH-5511] - Infinispan Region.destroy() impl should call cache.stop()
+ * [HHH-5512] - JndiInfinispanRegionFactory shouldn't try to stop CacheManager
+ * [HHH-5517] - Switch uuid generation in SessionFactory to org.hibernate.id.UUIDGenerator instead
+ * [HHH-5519] - VersionedItem should not extend Item, otherwise query cache results are confusing
+ * [HHH-5520] - Per org.hibernate.cache.RegionFactory javadocs, implementors should be allowed to use no-arg constructor
+
+** Deprecation
+ * [HHH-5489] - Deprecate jbosscache as a second level cache provider, in favor of infinispan
+
+** Improvement
+ * [HHH-5427] - derby 10.6.1.0 native sequence support broken
+ * [HHH-5507] - Add @MapKeyType annotation
+ * [HHH-5509] - Leverage StandardBasicTypes internaly
+ * [HHH-5515] - Upgrade to Infinispan 4.1.0.CR3
+
+** Patch
+ * [HHH-5197] - Envers documentation doesn't include the correct configuration when using Hibernate directly
+ * [HHH-5453] - ByteCodeHelper.readByteCode won't load classes bigger than a constant size
+
+** Task
+ * [HHH-5502] - Upgrade to maven-jdocbook-plugin 2.3.2
+ * [HHH-5505] - enable Sybase 15.5 in the test db profile
+ * [HHH-5506] - rollback maven-jdocbook-plugin to 2.3.0
+ * [HHH-5510] - Upgrade to maven-jdocbook-plugin 2.3.3
+
+
+Changes in version 3.6.0.Beta3 (2010.08.18)
+-------------------------------------------
+http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11133
+
+** Sub-task
+ * [HHH-5464] - Write a chapter about obtaining Hibernate
+
+** Bug
+ * [HHH-1643] - Sub-query as function parameter - either sub-query is missed from SQL or NullPointerException raised
+ * [HHH-5180] - StandardQueryCache.get() does not handle EntityNotFoundException for natural key lookups
+ * [HHH-5426] - HQL update/delete does not invalidate the query cache
+ * [HHH-5449] - Versioned HQL update might issue incorrect SQL
+ * [HHH-5469] - HHH-3659 is only half done, due to HHH-4989 (i.e. no HQL performance log when running Java 5)
+ * [HHH-5473] - Default for CHECK_NULLABILITY does not allow merge retries
+
+** Improvement
+ * [HHH-5438] - Skip deployment of "irrelevant" modules
+ * [HHH-5439] - Deployment of site.xml
+ * [HHH-5474] - Clean up usages of now deprecated ExtendedMappings
+ * [HHH-5477] - Introduce StandardBasicTypes for standard basic type constants
+
+** Patch
+ * [HHH-5300] - Configurable QueryPlanCache reference counts (Manuel Dominguez Sarmiento)
+
+** Task
+ * [HHH-5451] - deprecate cglib as bytecode provider
+ * [HHH-5479] - Upgrade jDocBook plugin to 2.3.0
+ * [HHH-5485] - Move hiberante dtd files from http://hibernate.sourceforge.net to http://www.hibernate.org/dtd
+
+
+Changes in version 3.6.0.Beta2 (2010.08.04)
+-------------------------------------------
+http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11132
+
+** Bug
+ * [HHH-2350] - 2nd level cache broken for non-inverse bidirectional one-to-many relation
+ * [HHH-4011] - ChainedPropertyAccessor is not serializable, which breaks caching to disk and replicated caches.
+ * [HHH-5097] - Bug in ParameterizedFunctionExpression with two or more parameters: IllegalArgumentException
+ * [HHH-5296] - AbstractFromImpl::getJoin() shall return empty set, not null
+ * [HHH-5355] - org.hibernate.test.id.uuid.sqlrep.sqlchar.UUIDCharTest errors with IngresDialect
+ * [HHH-5400] - Binding BLOB values via byte[] (MaterializedBlobType) fails in 3.6 on MySQL
+ * [HHH-5408] - Revise JPA compliance wording used in documentation according to Oracle policies
+ * [HHH-5415] - org.hibernate.type.descriptor.java.DataHelper dumping "NClob not found" exception to stderr
+ * [HHH-5425] - PropertyAccessException when caching results from a Query with a ResultTransformer that as 1 value per row
+ * [HHH-5431] - Infinispan's CacheAdapterImpl.putAllowingTimeout not using silent flag
+
+** Improvement
+ * [HHH-2510] - override equals() and fix hashCode() in AliasToBeanResultTransformer
+ * [HHH-5212] - Alter SQLFunction contract to be more flexible
+ * [HHH-5283] - Add BasicType handling of java.net.URL
+ * [HHH-5295] - Rendered JPAQL query shall be the same all the times, aliases shall not have random indexes
+ * [HHH-5331] - Remove reflection calls on SessionFactory for JDK 1.5 detection in relation to Statistics
+ * [HHH-5375] - Merge AnnotationConfiguration into Configuration
+ * [HHH-5418] - Have Configuration delay parsing/binding of mappings until buildMappings() is called
+ * [HHH-5420] - introducing new dialect for ms sql server 2008 with jdbc 3.0 and above
+ * [HHH-5424] - ResultTransformer should only be set in the QueryKey if putting/getting data that is actually transformed
+
+** New Feature
+ * [HHH-3908] - Expose way to fully control fetching and result mapping on SQLQuery
+ * [HHH-5423] - Provide a JBoss TS TransactionManagerLookup implementation for standalone (non JNDI) usage
+
+** Patch
+ * [HHH-5246] - Addition of withClause for DetachedCriteria (Shawn Clowater)
+ * [HHH-5349] - CriteriaHQLAlignmentTest fails with an error running with the Ingres dialect
+ * [HHH-5401] - Update to HHH-5381 HSQLDB new dialect (Fred Toussi)
+ * [HHH-5435] - Add identity column support to the Ingres10Dialect
+
+** Task
+ * [HHH-5259] - Invalid reflection optimization configuration property name in Hibernate documentation.
+ * [HHH-5416] - upgrade to h2 1.2.140
+
+
+Changes in version 3.6.0.Beta1 (2010.07.21)
+-------------------------------------------
+http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/10941
+
+** Sub-task
+ * [HHH-3764] - Add the "end-revision" column when generating metadata
+ * [HHH-3765] - Fill the "end revision" column with appropriate data in add/mod/del/collection work units
+ * [HHH-5115] - Migrate Annotations documentation system to jdocbook's maven plugin (like core)
+ * [HHH-5149] - Update "Basic O/R Mapping" (chapter 5) and "Collection Mapping" (chapter 6) of Core manual to use annotations
+ * [HHH-5150] - Update settings section to reflect merge from Annotations and Core documentation
+ * [HHH-5153] - Update Filters chapter to also show annotation configuration
+ * [HHH-5155] - Move Additional modules chapter from Annotations to Core probably in Appendix
+ * [HHH-5366] - Move annotations module tests into testsuite module
+ * [HHH-5367] - Move annotations module sources into core module
+ * [HHH-5379] - Update "Transitive persistence" (10.11) section to incorporate annotations
+ * [HHH-5380] - Update "Cache mappings" (20.2.1) section to incorporate annotations
+ * [HHH-5388] - Add @NamedQuery, @NamedNativeQuery, @SqlResultSetMapping, @Tuplizers and @FetchProfile to Core documentation
+ * [HHH-5389] - Update custom CRUD chapter
+
+** Bug
+ * [HHH-2269] - Many-to-one cascade fails with TransientObjectException if the inverse collection is marked CascadeType.DELETE_ORPHAN
+ * [HHH-2277] - bidirectional <key-many-to-one> both lazy=false fetch=join lead to infinite loop
+ * [HHH-3001] - The NoopOptimizer is not thread safe
+ * [HHH-3005] - DTD: map-key should allow nested type rather than attribute.
+ * [HHH-3096] - COUNT DISTINCT operator with idenfication variable w/ composite primary key produces bad sql
+ * [HHH-3377] - Update H2Dialect to use DECIMAL SQL type instead of NUMERIC
+ * [HHH-3694] - ResultTransformer not used when scroll() is used on a named SQLQuery
+ * [HHH-4036] - EntityMetamodel entityNameByInheritenceClassNameMap field used inconsistently
+ * [HHH-4147] - Eager Bidirectional association with @ManyToOne in PK lead to infinite loop
+ * [HHH-4156] - c3p0 is not used when only specific hibernate.c3p0.* properties
+ * [HHH-4240] - SecondaryTables not recognized when using JOINED inheritance
+ * [HHH-4250] - @ManyToOne - @OneToMany doesn't work with @Inheritance(strategy= InheritanceType.JOINED)
+ * [HHH-4568] - Sybase - Test "BatchTest" fails due to "unexpected row count from update"
+ * [HHH-4647] - Problems with @JoinColumn referencedColumnName and quoted column and table names
+ * [HHH-4716] - NotAuditedException using the entity name concept of hibernate.
+ * [HHH-4773] - @CollectionId does not force the id column to not-null
+ * [HHH-4957] - Criteria Projections.countDistinct() function broken
+ * [HHH-4966] - Entity Manager bug with ParameterExpressionImpl
+ * [HHH-4968] - Cannot deactivate default BeanValidationListener independently of DDL constraints generation (Vladimir Klyushnikov)
+ * [HHH-4991] - ManyToMany table not joined due to max_fetch_depth parameter, results to SQL exceptions
+ * [HHH-5006] - hibernate.globally_quoted_identifiers=true and Annotations tests
+ * [HHH-5032] - Setting LockModeType.OPTIMISTIC_FORCE_INCREMENT defaults to only OPTIMISTIC
+ * [HHH-5042] - TableGenerator does not increment hibernate_sequences.next_hi_value anymore after having exhausted the current lo-range
+ * [HHH-5063] - Projections that have aliases same as the property name result in invalid sql
+ * [HHH-5069] - Fix annotation documentation wrt setup
+ * [HHH-5094] - PersistenceUtilHelper cannot access non-public fields/methods (it should be able to)
+ * [HHH-5098] - AssertionFailure thrown when collection contains a parameterized type
+ * [HHH-5109] - @OneToOne - too many joins
+ * [HHH-5125] - The annotations @Entity and @MappedSuperclass used in one class produce a nullpointerexception
+ * [HHH-5131] - SchemaExport drop fails if constraint names change
+ * [HHH-5135] - "Ambiguous column" exception thrown with columns having the same name as a function registered with the dialect (e.g. to_date, floor)
+ * [HHH-5173] - hql - average returns double but looses the decimal part
+ * [HHH-5178] - Unit tests in org.hibernate.test.immutable fail on mssql and sybase due to keyword used for table and column name
+ * [HHH-5191] - CollectionMetadataGenerator fails to obtain mappedBy attribute when is defined on superclasses
+ * [HHH-5195] - FilterImpl.validate() throws NullPointerExeption on deserialization
+ * [HHH-5204] - Introduce @RequiresDialectFeature annotation
+ * [HHH-5207] - Unexpected exception occurs during refresh of a transient immutable business object.
+ * [HHH-5208] - Oracle 11g R2 RAC - Test SequenceIdentityTest fails because first value of sequence is "2"
+ * [HHH-5210] - Query Cache effective only after closing the session that created the cache
+ * [HHH-5211] - no need to create a schema first when run this test org.hibernate.test.sql.hand.custom.db2.DB2CustomSQLTest
+ * [HHH-5220] - Unit tests related to HHH-5063 and HHH-5135 fail on some dialects
+ * [HHH-5230] - Regresion! @SequenceGenerator with allocationSize=1 fails Other allocationSizes appear to be decremented by 1
+ * [HHH-5231] - Unit test failures lock up when they run on DB2 and PostgreSQL
+ * [HHH-5233] - @FetchProfile fails to take more than one @FetchProfile.FetchOverride
+ * [HHH-5253] - TableHiLoGenerator does not increment hi-value any more when lo-range es exhausted
+ * [HHH-5258] - Persistence.isLoaded(Object, String) fails if the annotated property does not have a public getter or field
+ * [HHH-5272] - Typo in tutorial at web site
+ * [HHH-5286] - Jar Scanner instances cannot be passed to EntityManagerFactory creation method
+ * [HHH-5288] - Envers auditReader.find() returns wrong data for embedded components using fields with default values
+ * [HHH-5298] - @AuditMappedBy doesn't work on an inherited relation
+ * [HHH-5315] - AuditJoinTable rows are no longer flushed to the database
+ * [HHH-5318] - Wrong logic for RequiresDialectFeature in org.hibernate.test.annotations.HibernateTestCase
+ * [HHH-5319] - Clean up data created in org.hibernate.test.annotations.onetomany.OneToManyTest#testUnidirectionalExplicit
+ * [HHH-5322] - Regression in PersistenceUtilHelper
+ * [HHH-5323] - correct jdbc driver version for testing
+ * [HHH-5324] - Tests fail on mysql
+ * [HHH-5329] - NoClassDefFoundError when using Hibernate 3.5 with J2SE 1.4 because of a wrong catch block
+ * [HHH-5332] - JndiInfinispanRegionFactory cannot be instantiated
+ * [HHH-5334] - PersistenceUtilHelpe.findMember(Class, String) private method doesn't work with members of a superclass
+ * [HHH-5340] - Typo in tutorial at web site
+ * [HHH-5370] - Building IN condition with CriteriaBuilder providing collection of values not working.
+ * [HHH-5384] - HEM should not register its own Synchronization
+ * [HHH-5395] - Fix the failing Lobs test
+
+** Improvement
+ * [HHH-3050] - Convert usage of Hibernate's FastHashMap to ConcurrentHashMap (Java 1.5)
+ * [HHH-4945] - Replace all usages of EJB3TestCase with org.hibernate.ejb.test.TestCase
+ * [HHH-5138] - Redesign types + introduce TypeRegistry & TypeResolver
+ * [HHH-5144] - Dont restrict on jdk5 in hibernate core development
+ * [HHH-5162] - Deprecate @Entity.mutable in favor of @Immutable
+ * [HHH-5171] - Allow usage of standalone @JoinFormula annotation
+ * [HHH-5182] - Inject SessionFactory into "non-basic" Types
+ * [HHH-5217] - Minimize double sequence value reads in PooledOptimizer
+ * [HHH-5218] - Provide a new "pooled value" based optimizer which interprets the database value as the low boundary instead of upper boundary
+ * [HHH-5245] - Introduce LobHelper
+ * [HHH-5248] - Introduce CompositeType interface (to replace AbstractComponentType interface)
+ * [HHH-5251] - NativeSQLQueryReturn impls pre-cache a final hashcode based on non-final fields
+ * [HHH-5252] - AttributeFactory needs more info in AssertionFailure
+ * [HHH-5262] - Allow UserType and CompositeUserType to be registered with BasicTypeRegistry
+ * [HHH-5268] - Support for java.util.UUID properties/generators
+ * [HHH-5285] - Add support for CompositeUserType to implement org.hibernate.usertype.LoggableUserType
+ * [HHH-5362] - Upgrade trunk to latest Infinispan 4.1
+ * [HHH-5373] - Better account for SQLWarnings in temp table creation
+
+** New Feature
+ * [HHH-3579] - Support for PostgreSQL UUID data type
+ * [HHH-3659] - statistics: Execution time of a query
+ * [HHH-5260] - Allow query region name specific eviction settings
+ * [HHH-5337] - Allow customization of "import.sql" file name and multi files import
+
+** Patch
+ * [HHH-1574] - AbstractEntityPersister.getNaturalIdentifierSnapshot doesn't work with many-to-one ids (Alex Burgel)
+ * [HHH-2268] - Skip bridge methods during getter determination (JDK Bug 5062759)
+ * [HHH-3220] - Patch to prevent "org.hibernate.AssertionFailure: possible non-threadsafe access to the session" error caused by stateless sessions
+ * [HHH-5064] - OrderBy string getting dumped to console on session factory creation (Shawn Clowater)
+ * [HHH-5078] - JPA criteria query numeric expressions produce wrong result (due to wrong bracketing)
+ * [HHH-5147] - EnumType speed up in initEnumValues()
+ * [HHH-5213] - Add native SQL Boolean type to Ingres10Dialect
+ * [HHH-5336] - a few typo fixes
+ * [HHH-5381] - HSQLDB new dialect (Fred Toussi)
+
+** Task
+ * [HHH-4868] - Upgrade to Javassist 3.12.0.GA
+ * [HHH-5139] - Increase minimum language level from 1.4 to 1.5
+ * [HHH-5145] - Update pom to use the new distributationManagement information
+ * [HHH-5148] - Merge Hibernate Annotations reference documentation into Core
+ * [HHH-5181] - Merge hibernate-annotations module code into hibernate-core
+ * [HHH-5186] - update db profiles id and jdbc properties' name to use dballocator
+ * [HHH-5200] - Prepare to use H2 as the default testing datbase
+ * [HHH-5254] - Present document on Types as a separate chapter
+ * [HHH-5281] - TypeSafeActivator should also generate constraints for @Length
+ * [HHH-5294] - declare source files encoding to utf-8 to avoid maven warning
+ * [HHH-5317] - Update Annotations and EM to use latest version of Hibernate Validator
+ * [HHH-5357] - Rename hibernate-testing packages
+ * [HHH-5358] - Merge jmx module back into core
+ * [HHH-5365] - merge annotations module into core module
+ * [HHH-5374] - Upgrade to H2 version 1.2.139
+ * [HHH-5382] - Upgrade to slf4j 1.6
+ * [HHH-5397] - Odds and ends from documentation merge
+
+
+
+Changes in version 3.5.1 (2010.04.14)
+-------------------------------------------
+http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11021
+
+** Bug
+ * [HHH-2809] - dialect changes: limit string
+ * [HHH-3543] - method org.hibernate.transaction.JDBCTransaction.notifyLocalSynchsBeforeTransactionCompletion "swallows" all exceptions occured inside it
+ * [HHH-4077] - Misuse of NamingStrategy and logical column names in HbmBinder
+ * [HHH-4721] - Error in AuditSync.beforeCompletion() does not result in faillure of JDBCTransaction
+ * [HHH-4912] - testManyToManyWithFormula induces error with Ingres dialect
+ * [HHH-4938] - Multiple errors reported during legacy FooBarTest with Ingres
+ * [HHH-4961] - org.hibernate.test.hql.ASTParserLoadingTest error running testPaginationWithPolymorphicQuery with Ingres
+ * [HHH-4965] - Implicit parameters abusively use TypeFactory.heuristicType losing UserType and XToOneType info
+ * [HHH-4970] - org.hibernate.test.hql.ASTParserLoadingTest error running testComponentParameterBinding with Ingres
+ * [HHH-4973] - org.hibernate.test.hql.ASTParserLoadingTest error running testSelectClauseSubselect with Ingres
+ * [HHH-4976] - org.hibernate.test.hql.ASTParserLoadingTest error running testImplicitPolymorphism with Ingres
+ * [HHH-4977] - org.hibernate.test.hql.ASTParserLoadingTest error running testOneToManyFilter with Ingres
+ * [HHH-5045] - org.hibernate.test.hql.HQLTest failure running testConcatenation with Ingres
+ * [HHH-5059] - callouts and programlistings with highlighting
+ * [HHH-5082] - QueryException thrown when grouping by component
+ * [HHH-5096] - FetchingScrollableResultsImpl.last() does not move to the last result if cursor is after the last result
+ * [HHH-5102] - Instances of a subclass can't be loaded
+ * [HHH-5103] - Specifying the referencedColumnName in a @JoinColumn in backtics like `uid` fails
+ * [HHH-5104] - EntityType.isEqual() test x equals x but should test x equals y (Thierry-Dimitri Roy)
+ * [HHH-5106] - UnsupportedOperationException on SQL named native queries when using the type-safe API
+
+** Improvement
+ * [HHH-3962] - Ingres Hibernate dialect for EAP 4.3.0 GA CP04
+
+** Patch
+ * [HHH-2470] - Use of session.createSQLQuery causes memory leak (Harry Mark and Michael Stevens)
+ * [HHH-5003] - IngresDialect requires query substitutions for boolean values
+ * [HHH-5076] - Multiple failures reported during ReadOnlyProxyTest with Ingres
+
+** Task
+ * [HHH-3997] - Build aggregated javadocs
+ * [HHH-5083] - Align javadoc styles better with docbook / website
+ * [HHH-5084] - Improve overview for aggregated javadocs
+ * [HHH-5116] - Remove copyrighted fonts from annotations
+
+
+Changes in version 3.5.0-Final (2010.03.31)
+-------------------------------------------
+http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11022
+
+** Sub-task
+ * [HHH-4599] - An embeddable class may contain ToOne or ToMany associations
+ * [HHH-4666] - Implement the clarified rules for resource discovery (esp for <mapping-file> and co)
+ * [HHH-4691] - Validate all new concepts are supported in orm.xml
+
+** Bug
+ * [HHH-2088] - TypeMismatchException on object equality expression from one-to-one relationship
+ * [HHH-2997] - LikeExpression case sensitive not working properly
+ * [HHH-4784] - JDBCTransaction -> commit() -> notifyLocalSynchsBeforeTransactionCompletion()
+ * [HHH-4870] - Cannot determine java-type from given member [null]
+ * [HHH-4919] - DefaultMergeEventListener does not call Interceptor.instantiate() for a new persistent entity (Francesco Degrassi)
+ * [HHH-4931] - two tests in org.hibernate.test.legacy.MultiTableTest fail on Ingres
+ * [HHH-4946] - org.hibernate.test.legacy.FooBarTests testLimit failure with Ingres
+ * [HHH-4958] - Immutable entity snapshot is retained after insert
+ * [HHH-4972] - javax.persistence.query.timeout and javax.persistence.lock.timeout can be passed when creating an EMF
+ * [HHH-4993] - Updates to read-only entity associations made while in persistent state are ignored by flush
+ * [HHH-4998] - org.hibernate.test.hql.ASTParserLoadingTest failure running testStr with Ingres
+ * [HHH-5000] - duplicate words in the documents
+ * [HHH-5010] - org.hibernate.test.hql.CriteriaHQLAlignmentTest.testCriteriaAggregationReturnType() needs call flush before do the query
+ * [HHH-5013] - the previous select query should not to hold locks in TypeParameterTest#testSave
+
+** Improvement
+ * [HHH-1088] - Add support for projections using composite keys and components
+ * [HHH-4374] - @Subselect
+ * [HHH-4907] - Support for tuple syntax in HQL/Criteria on databases which do not support tuple syntax
+ * [HHH-4940] - Document immutable/read-only entity and immutable collection functionality
+ * [HHH-4989] - Make Statistics concurrent safe when Java 5 is present (Alex Snaps)
+ * [HHH-5008] - Log query lock mode in EntityLoader constructor
+ * [HHH-5022] - Small documentation improvements in chapter 6
+
+** New Feature
+ * [HHH-4812] - Add fetch profile support in annotations
+ * [HHH-4994] - find(Class<T> entityClass, Object primaryKey, Map<String, Object> properties) and refresh(Object entity, Map<String, Object> properties) do not honor properties
+ * [HHH-5026] - Ability to customize Scanner strategies
+
+** Patch
+ * [HHH-4419] - <synchronize table="table_name"/> is missed using annotations
+ * [HHH-5049] - org.hibernate.test.legacy.ParentChildTest error running testLoadAfterNonExists with Ingres
+
+** Task
+ * [HHH-4933] - Write documentation on JPA 2
+ * [HHH-4990] - Move to commons-annotations 3.2.0.Final
+ * [HHH-4995] - Update dependency versions for JPA 2 and Metamodel Generator
+ * [HHH-4996] - Use monospace fonts in docbook programlistings
+ * [HHH-5035] - upgrade to jdocbook 2.2.3
+ * [HHH-5047] - Remove column coordinates from areaspecs
+ * [HHH-5058] - Include hibernate-jpa-2.0-api (JPA 2 API) in release bundle
+
+
+Changes in version 3.5.0-CR-2 (2010.02.24)
+-------------------------------------------
+http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11011
+
+** Sub-task
+ * [HHH-4605] - Add support for @OneToMany @JoinColumn in XML
+ * [HHH-4606] - Add support for @*ToOne @JoinTable in XML
+ * [HHH-4662] - Implement javax.persistence.query.timeout
+ * [HHH-4676] - Any interceptor exception (RTE) should mark the tx for rollback
+ * [HHH-4765] - Enhance Dialect support for JPA-2 locking
+
+** Bug
+ * [HHH-3817] - JBC second level cache integration can cache stale collection data
+ * [HHH-4583] - Incorrect handling of empty conjunction and disjunction
+ * [HHH-4613] - KEY, VALUE and ENTRY should not be strict keywords
+ * [HHH-4693] - MapProxy - problems during marshalling/demarchalling
+ * [HHH-4809] - Immutable entities added to a session have Status.MANAGED unless loaded by the Session
+ * [HHH-4810] - Persistent immutable and read-only entities are updated before being deleted
+ * [HHH-4825] - mapping order impacting behavior leading to bug
+ * [HHH-4836] - Infinispan: 2L QueryCache don't considers cached queries which belong to current transaction
+ * [HHH-4845] - Investigate why entitymanager test cannot be run in forkMode once
+ * [HHH-4899] - Type not supported: org.hibernate.type.TimestampType
+ * [HHH-4917] - Keyword TYPE not supported
+ * [HHH-4926] - Upgrade to jDocBook 2.2.1
+ * [HHH-4928] - Non-Audited Entity with @ManyToOne in PK causes error in Envers 1.2.2
+ * [HHH-4932] - Upgrade EM to use the latest metamodel generator (CR-1)
+ * [HHH-4944] - putFromLoad calls could store stale data
+ * [HHH-4948] - Session.flush() does not always cascade save or update to read-only or immutable entities
+
+** Improvement
+ * [HHH-4905] - Allow consistent handling of numeric primary key values by any integral data type
+ * [HHH-4911] - Make referencedColumnName case insensitive
+ * [HHH-4930] - Drop org. prefix on hibernate.cache.default_cache_concurrency_strategy and hibernate.id.new_generator_mappings for consistency
+ * [HHH-4934] - Improve logging in MetadataContext and AttributeFactory
+ * [HHH-4942] - Refactor PackagedEntityManagerTest and JarVisitorTest to use ShrinkWrap
+
+** New Feature
+ * [HHH-3841] - Add support for lock timeouts
+
+** Patch
+ * [HHH-4908] - Multiple failures reported during ReadOnlyProxyTest with Ingres
+
+** Task
+ * [HHH-4640] - Add test with JNDI bound JBoss Transactions Transaction Manager
+ * [HHH-4936] - Document JPA criteria queries
+ * [HHH-4949] - Document JPA 2 metamodel
+ * [HHH-4951] - Correct DTD entities for injecting version and date into docs
+
+
+Changes in version 3.5.0-CR-1 (2010.02.10)
+-------------------------------------------
+http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11014
+
+** Sub-task
+ * [HHH-4661] - Properly propagate Query.setLockMode to Hibernate Core
+ * [HHH-4664] - Implement EntityManagerFactory#getProperties()
+ * [HHH-4848] - Derived identities: Derived entities using @IdClass and mapping a @XToOne are not supported
+
+** Bug
+ * [HHH-4317] - Memory leak in EnumType class.
+ * [HHH-4824] - localpath appeared in the doc xml
+ * [HHH-4841] - Read-only proxies in NonFlushedChanges are not read-only when applied to a new session
+ * [HHH-4861] - Allow lookup by the "simple" pk type of "parent entity" in "derived identities" cases
+ * [HHH-4877] - "Check Nullability" logging incorrectness in SettingsFactory
+ * [HHH-4880] - EntityManager.refresh does not throw EntityNotFoundException for removed entity
+ * [HHH-4883] - Unable to join across a component
+ * [HHH-4884] - Fix binding of @TableGenerator#initialValue into org.hibernate.id.enhanced.TableGenerator
+ * [HHH-4889] - @IdClass containing an associated entity reference (instead of the pk of this associated entity) should still work
+ * [HHH-4895] - property mappings incorrect for composite ids with many-to-one
+ * [HHH-4896] - Read-only proxy targets initialized from second-level cache are not read-only
+ * [HHH-4898] - Results from read-only Criteria and Query obtained from query cache are not read-only
+ * [HHH-4900] - Wrong immutable type check in IdMetadataGenerator
+ * [HHH-4902] - Handle JPA 2 requirement of setting id attribute to non-null with its equivalent of foreign-generator
+
+** Improvement
+ * [HHH-4578] - Criteria is missing read-only flag
+ * [HHH-4704] - Pass session into EntityTuplizer#setIdentifier
+ * [HHH-4879] - Support HQL index-refering functions for many-to-many, indexed collections
+ * [HHH-4894] - Process composite-id sub-generators PersistentIdentifierGenerator contract(s)
+
+** New Feature
+ * [HHH-4731] - Public API to know if an entity class is audited
+
+** Patch
+ * [HHH-4886] - Merge minor change from IngresDialect.java from 3.3.2 for Ingres 9.2 compatibility
+
+** Task
+ * [HHH-4892] - Simplify testing of persistence packages
+
+
+Changes in version 3.5.0-Beta-4 (2010.01.28)
+-------------------------------------------
+- http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversi...
+
+** Sub-task
+ * [HHH-4529] - Partial support for derived identity (including @MapsId)
+ * [HHH-4651] - Add support for EntityManager properties
+ * [HHH-4659] - Add support for standard declarative cache (@Cacheable)
+ * [HHH-4660] - Support Cache Retrieve Mode and Cache Store Mode Properties
+ * [HHH-4669] - Implement JDBC driver properties support
+ * [HHH-4677] - implement PersistenceUnitInfo#getPersistenceXMLSchemaVersion(); and the same in PersistenceMetadata
+ * [HHH-4678] - Apply PersistenceUnitInfo#getSharedCacheMode and #getValidationMode
+ * [HHH-4690] - Consider adding a flag for legacy/new generators
+ * [HHH-4725] - implement orphanRemoval for OneToOne
+ * [HHH-4849] - Derived Identity: default @JoinColumn is not honored for properties linked to @MapsId
+
+** Bug
+ * [HHH-3828] - Criteria: Restriction whith class does not work
+ * [HHH-4736] - Cannot pass ValidatorFactory into PersistenceProvider.createContainerEntityManagerFactory(PersistenceUnitInfo, Map)
+ * [HHH-4781] - When a read-only entity is refreshed it is changed to modifiable
+ * [HHH-4789] - Check annotations and entitymanager poms for consistent plugin configuration
+ * [HHH-4796] - NullPointerException when an @AssociationOverride joinColumn is set but no @AssociationOverride joinTable is on a given property
+ * [HHH-4797] - Backref properties should be ignored when building the JPA 2 metamodel (leading atm to java.lang.IllegalArgumentException: Cannot determine java-type from given member [null])
+ * [HHH-4804] - Entities in non-lazy associations loaded by a read-only HQL Query are not read-only
+ * [HHH-4805] - JPA 2 metamodel impl ignores nested generics
+ * [HHH-4806] - em.getTransaction.commit() does not always wrap in a RollbackException
+ * [HHH-4807] - not-null checking no longer applied even if Bean Validation is not present
+ * [HHH-4828] - Entities returned by Query...setReadOnly(true)...iterate() should be read-only
+ * [HHH-4834] - Exception in the metamodel population when raw types are used in collections
+ * [HHH-4843] - org.hibernate.ejb.util.LogHelper assumes javax.persistence.spi.PersistenceUnitInfo#getProperties is never null
+ * [HHH-4846] - NPE in AbstractIdentifiableType.checkDeclaredVersion
+ * [HHH-4847] - In nested id generators, use the context aka idObject for set operation and the raw entity as input for generation
+ * [HHH-4850] - Transaction commit throws RollbackException instead of PessimisticLockException
+ * [HHH-4851] - OneToOneSecondPass Metadata is mistakenly interpreted
+ * [HHH-4853] - 3.4.4.3 Lock Mode Properties and Uses, "Vendor-specific hints must be ignored if they are not understood. "
+ * [HHH-4855] - Incorrectly tries to search a secondary table when globally quoted identifiers are used
+ * [HHH-4858] - Implicitly add a cascade PERSIST when @MapsId is used
+ * [HHH-4859] - NPE when the entity uses a core-style "embedded" id (ie not an @IdClass nor an explicit @EmbeddedId)
+ * [HHH-4862] - quoted column/alias names not properly handled in org.hibernate.loader.EntityAliases
+
+** Improvement
+ * [HHH-4552] - Support generated value within composite keys
+ * [HHH-4813] - annotation and entitymanager module should use the maven-injection-plugin to generate version string
+ * [HHH-4816] - Cleanup JPA setting name constants
+
+** New Feature
+ * [HHH-2501] - Add capability to set a default read-only/modifiable setting for a session
+ * [HHH-2762] - SessionImplementor.getNonFlushedChanges()/applyNonFlushedChanges() API and initial implementation
+ * [HHH-4616] - Configure global/cache level JMX statistics from Hibernate configuration file
+ * [HHH-4726] - Add support for delete-orphan cascading to <one-to-one/>
+ * [HHH-4840] - Support embedded id properties like core
+
+** Task
+ * [HHH-4792] - Validate fix for HHH-4791
+ * [HHH-4793] - Revert disabling of VersionsJoinTableRangeComponentNamingTest and fix underlying issue
+ * [HHH-4799] - Create a *unit* test that asserts SerializationHelper's ability to deser a class using an "isolated classloader" (aka a TCCL)
+ * [HHH-4822] - Add @FailureExpected annotation to annotations and entitymananger modules to allow the skipping of tests
+ * [HHH-4823] - Reorder modules in top level pom so that testsuite runs directly after core
+ * [HHH-4856] - Upgrade dependency to jpa metamodel generator
+
+
+Changes in version 3.5.0-Beta-3 (2010.01.13)
+-------------------------------------------
+- http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversi...
+
+** Sub-task
+ * [HHH-4203] - Implement JPA 2.0 criteria apis (compiling)
+ * [HHH-4352] - implement @AttributeOverride for Map (key, value)
+ * [HHH-4353] - implement default column naming strategy for Collections and Map of basic types
+ * [HHH-4527] - Implement @j.p.Access support
+ * [HHH-4536] - Fix the mismatch between JPA 2's logical model and mapping.* physical model wrt t*toOne and *ToMany
+ * [HHH-4546] - add JPA 2.0 locking
+ * [HHH-4553] - Hibernate doesn't support official JPA2 escape char for table name
+ * [HHH-4584] - Query Language needs to support joins on embedded values
+ * [HHH-4598] - An embeddable class may contains collection of basic types or embeddable objects
+ * [HHH-4600] - Implements full support for JPA 2 Maps
+ * [HHH-4601] - implement orphanRemoval for *ToMany
+ * [HHH-4649] - support for <delimited-identifier/> in ORM.xml files
+ * [HHH-4654] - Criteria quries must support referencing parameters by name
+ * [HHH-4657] - support CascadeType.DETACH and em.detach()
+ * [HHH-4663] - Make sure CriteriaQuery is serializable
+ * [HHH-4665] - Implement emf.getPersistentUnitUtil().getIdentifier(Object)
+ * [HHH-4667] - Properly parse the new orm.xml xsd and persistence.xml xsd
+ * [HHH-4675] - Bean Validation ConstraintViolationException should trigger a tx rollback as per JPA's spec
+ * [HHH-4679] - Make sure @AssociationOverride support the dot notation (section 11.1.2)
+ * [HHH-4680] - Implement @AssociationOverride .value for Map value overriding (section 11.1.2)
+ * [HHH-4681] - Implement @AttributeOverride "key." or "value." for Maps
+ * [HHH-4682] - Check that @CollectionTable (or its absence) defaults to the right table/column names
+ * [HHH-4684] - Make sure @Lob works with @ElementCollection
+ * [HHH-4685] - Make sure bidirectional @*To* works from an embedded object to another entity
+ * [HHH-4686] - Implement @MapKeyEnumerated
+ * [HHH-4687] - implement @MapKeyTemporal
+ * [HHH-4688] - Make sure @OrderBy works for @ElementCollection
+ * [HHH-4689] - Make sure @OrderBy supports dotted notation to point to embedded properties
+ * [HHH-4692] - add the new orm_2_0.xsd file
+ * [HHH-4696] - Add persistence.xsd version 2
+ * [HHH-4724] - query.multiselect() on a CriteriaQuery<Tuple> returns List<Object[]> instead of List<Tuple>
+ * [HHH-4752] - @AttributeOverride for column name should use no prefix for @ElementCollection (legacy uses "element")
+ * [HHH-4753] - Default table name for @CollectionTable is not inferred correctly according to spec requirement
+ * [HHH-4756] - javax.persistence.criteria.Path#get should result in *delayed* join rendering
+ * [HHH-4758] - Rename org.hibernate.ejb.criteria.AbstractNode#queryBuilder to #criteriaBuilder
+ * [HHH-4766] - Properly support criteria notion of SUM aggregation return types
+ * [HHH-4771] - @ElementCollection fk column should default to entityName_columnNameOfOwningId
+ * [HHH-4782] - Implement @AssociationOverride.joinTable
+
+** Bug
+ * [HHH-1352] - Session.setReadOnly(Object, boolean) fails for proxies
+ * [HHH-1575] - Expression.in on component object gives parameters til SQL in wrong order
+ * [HHH-2166] - Long "in" lists in queries results in a Java stack overflow exception.
+ * [HHH-2990] - Fix SerializationHelper$CustomObjectInputStream to use Class.forName and better classloader
+ * [HHH-3164] - "id in ..." with EmbeddedId and criteria API
+ * [HHH-3240] - In Derby field type 'text' is converted to CLOB(255)
+ * [HHH-3338] - Order of attributes in generated SQL query is dependent on Java version
+ * [HHH-3529] - ConnectionWrapper is not visible from class loader
+ * [HHH-4041] - Null Pointer Exception when using @NotAudited on an entity with discriminator column, inherited from base entity with InheritanceType.SINGLE_TABLE
+ * [HHH-4063] - NPE reading metadata from an mapped interface
+ * [HHH-4065] - Incorrect SQL is used for HQL if the number of values for a filter collection parameter is changed
+ * [HHH-4090] - RelationTargetAuditMode.NOT_AUDITED not working with many-to-many relations
+ * [HHH-4257] - map key type no longer inferred correctly, throws exception at runtime
+ * [HHH-4283] - Bidirectional indexed collection mapped incorrectly for IndexedCollectionTest
+ * [HHH-4457] - SchemaUpdate fails on Sybase ASE 15 when a new column is added without a default value
+ * [HHH-4519] - Hibernate/Infinispan integration doesn't property handle Entity/CollectionRegionAccessStrategy evictAll
+ * [HHH-4520] - Infinispan second level cache integration can cache stale collection data
+ * [HHH-4531] - Derby dialect should not support comments
+ * [HHH-4542] - Annotation processor does not handle "bag" mappings correctly
+ * [HHH-4560] - JDBC4 support inadvertently missed 1.4 compatibility
+ * [HHH-4565] - Maven deps: HSQLDB shouldn't be a dependency in compile scope.
+ * [HHH-4566] - Maven deps: JAXB API and JAXB RI shouldn't be dependencies of Hibernate Annotations.
+ * [HHH-4567] - EntiytManager's QueryImpl mishandles ordinal position of HQL-style positional parameters
+ * [HHH-4571] - Infinispan not properly being built into distribution bundle
+ * [HHH-4572] - check if the connection supports jdbc4 before looking for the createClob method
+ * [HHH-4574] - ConnectionProviderFactory.getConnectionProperties() includes extra properties
+ * [HHH-4581] - Embedded objects in criteria API does not work
+ * [HHH-4586] - Parameterized functions built throught CriteriaBuilder missing parameters when rendered
+ * [HHH-4588] - Seam 2.x depends on ReaderInputStream which it shouldn't. Deprecate the current Hibernate ReaderInputStream class
+ * [HHH-4590] - CASTs from CriteriaBuilder.toXXX methods still need to be fleshed out
+ * [HHH-4604] - IllegalArgumentException should be raised when an ordinal parameter is not present in the query
+ * [HHH-4611] - When the revision number in the revision entity uses a @Column(columnDefinition=), the sql-type is not properly set on the REV property of audit entities
+ * [HHH-4614] - (javassist) Instrumented model with abstract MappedSuperclass and field access doesn't work
+ * [HHH-4625] - Use of maven-injection-plugin intermittently leads to build failures
+ * [HHH-4631] - Infinispan integration module is causing build problems
+ * [HHH-4633] - Using same table for multiple relations doesn't work
+ * [HHH-4634] - A many-to-many relation owned by both sides causes a mapping exception
+ * [HHH-4641] - @PrimaryKeyJoinColumn on an inherited entity doesn't affect the column name
+ * [HHH-4644] - When using join-inheritance and a custom revision entity, the child mapping uses incorrect revision number column sql type
+ * [HHH-4645] - Rename properties used to configure Envers from camel case to _
+ * [HHH-4650] - Removing an item from a persistent collection, flushing, and adding the same item again fails
+ * [HHH-4653] - Setting the "referencedColumnName" in @JoinColumnOrFormula throws an NPE
+ * [HHH-4670] - Incorrect revision types when in a add-flush-mod-flush sequence
+ * [HHH-4698] - Better handling of JPA criteria expressions
+ * [HHH-4702] - org.hibernate.ejb.metamodel.AttributeFactory should use member for javaType, et al
+ * [HHH-4707] - Currently no support for modulus operator
+ * [HHH-4708] - Make CompoundSelectionImpl implement ExpressionImplementor
+ * [HHH-4709] - registered length functions should return Integer
+ * [HHH-4711] - persistence.xml is not validated during parsing
+ * [HHH-4715] - Unexpected results when an updated entity that is already modifiable is set to modifiable again
+ * [HHH-4720] - Improve javax.persistence.metamodel.Attribute support
+ * [HHH-4735] - Proxy can be associated with a new session when it is already connected to a different one
+ * [HHH-4741] - org.hibernate.test.filter.DynamicFilterTest.testSqlSyntaxOfFiltersWithUnions fails on MySQL
+ * [HHH-4743] - Bug in BooleanLiteralNode with CustomType
+ * [HHH-4764] - org.hibernate.test.pagination.PaginationTest.testLimitOffset() fails on oracle and db2 due to
+ * [HHH-4767] - Bug in how Criteria Subquery selections are handled
+ * [HHH-4768] - Bug in how Criteria Subquery correlations are handled
+ * [HHH-4769] - In HQL, function ROUND always returns an Integer, it truncate the decimal part of Double number.
+ * [HHH-4772] - Empty conjunction/disjunction in criteria does not follow spec rules
+ * [HHH-4774] - Do not handle literals using parameters in JPA criteria select
+ * [HHH-4775] - CriteriaBuilder#notEqual being interpreted oppositely
+ * [HHH-4776] - Add a NullLiteralExpression for CriteriaBuilder#nullLiteral
+ * [HHH-4777] - org.hibernate.ejb.test.PackagedEntityManagerTest.testOverridenPar() hard code hsqldb connection info
+ * [HHH-4778] - Need better handling of criteria expression casting
+ * [HHH-4780] - Allow BigDecimal and BigInteger to be specified as numeric literal types
+ * [HHH-4785] - BinaryArithmeticOperation reverses incoming arguments
+ * [HHH-4786] - SerializableType + custom Serializable class + L2 cache causes problems
+ * [HHH-4788] - antrun plugin version is not explicitly specified in the parent pom
+ * [HHH-4790] - Envers test failing, disabling for beta-3 release
+ * [HHH-4791] - Invalid assumption made in org.hibernate.envers.tools.Tools#getTargetFromProxy
+
+** Deprecation
+ * [HHH-4561] - Deprecate openConnection()/closeConnection() methods on Batcher interface
+
+** Improvement
+ * [HHH-2576] - Allow native-sql to have placeholders for default schema and catalog
+ * [HHH-4000] - Utlize jhighlight hooks for rendered syntax coloration of XML and Java based programlisting docbook elements
+ * [HHH-4540] - Allow the revision timestamp to be a Date
+ * [HHH-4545] - Allow o.h.action.Executable to register for either (or both) before or after transaction completion callbacks
+ * [HHH-4548] - Alter poms to not use javax.* artifacts under Sun proprietary license
+ * [HHH-4550] - Document that update-timestamps cache region should not be configured for expiry.
+ * [HHH-4569] - Split focus of ConfigurationPerformanceTest
+ * [HHH-4573] - Minor typo, formatting and cleanup fixes
+ * [HHH-4575] - When Infinispan is configured for INVALIDATION don't send cluster message on entity insert
+ * [HHH-4671] - Derby is one of those dialects that should not support "cross join"
+ * [HHH-4697] - Add means to get HibernateEntityManagerFactory from HibernateEntityManagerImplementor
+ * [HHH-4705] - Derby does now in fact support the full ANSI SQL TRIM function
+ * [HHH-4719] - Support modulo operator
+ * [HHH-4737] - Cache the EntityKey in EntityEntry when id is non-null
+ * [HHH-4763] - Change antrun plugin configuration in entitymanager module to allow metamodel generation without processing all life cycles
+
+** New Feature
+ * [HHH-2308] - Adding predicates to the join condition using Criteria Query
+ * [HHH-4608] - Add new properties that will allow to specify the default schema and catalog that should be used for audit tables
+ * [HHH-4694] - Support "fake" many-to-one bidirectional relations
+ * [HHH-4749] - Don't block calls to getListeners on SessionImplementor when using thread scoped sessions
+
+** Patch
+ * [HHH-1918] - enable non-hilo identity generation in DerbyDialect
+ * [HHH-2347] - Improvement to DerbyDialect default identy generation mode
+ * [HHH-2584] - PersistentMap.remove() incorrect on uninitialized, non-extra-lazy map
+ * [HHH-3860] - Cascading performance problems when session contains many entities
+
+** Task
+ * [HHH-4006] - Document fetch profiles
+ * [HHH-4498] - Move the xml configuration files in the annotations module into the default resource directory /src/test/resources
+ * [HHH-4655] - Upgrade jpamodelgen dependency in entitymanager to use 1.0.0.Beta1
+ * [HHH-4672] - Upgrade JPA dependency to hibernate-jpa-2.0-api-1.0.0-CR-1
+ * [HHH-4673] - Upgrade JPA Static Metamodel Generator dependency to 1.0.0.Beta1
+ * [HHH-4674] - JBoss has renamed its JACC artifact
+ * [HHH-4783] - Remove obsolete changelog.txt files in annotations and entitymanager modules
+
+
+Changes in version 3.5.0-Beta-2 (2009.11.02)
+-------------------------------------------
+
+** Sub-task
+ * [HHH-4047] - Phase 1 - API & implement join-strategy
+ * [HHH-4196] - Implement JPA 2.0 criteria apis (building)
+ * [HHH-4202] - Implement JPA 2.0 metamodel APIs
+ * [HHH-4528] - Read mapping annotations from entity properties rather than the composite pk
+ * [HHH-4533] - Support for @MappedSuperclass such that we can build javax.persistence.metamodel.MappedSuperclassType
+ * [HHH-4537] - Expose Members for MappedSuperclass properties
+
+** Bug
+ * [HHH-1724] - Critieria needs to be aligned with new aggreation type rules
+ * [HHH-3817] - JBC second level cache integration can cache stale collection data
+ * [HHH-3818] - Hibernate/JBC integration doesn't property handle Entity/CollectionRegionAccessStrategy evictAll
+ * [HHH-4095] - bug in org.hibernate.Hibernate.createBlob( InputStream in )
+ * [HHH-4100] - Problems with Envers docbook sources
+ * [HHH-4105] - SessionFactory mispells method to obtain fetch profile definition
+ * [HHH-4114] - ASTParserLoadingTest fails due to missing "bit_length" function
+ * [HHH-4115] - FooBarTest - "operator does not exist: character varying = integer"
+ * [HHH-4435] - DataVersionAdapter.newerThan incorrect when comparing to self
+ * [HHH-4437] - ToOneDelegateSessionImplementor breaks Hibernate.getClass(auditedEntity.proxyOfnotAuditedEntity)
+ * [HHH-4441] - SessionImpl serialization violates java serialization spec
+ * [HHH-4447] - Envers proxy.getId() returns null if proxy was not initialized yet
+ * [HHH-4449] - NPE during inserting new audited entity with reference to another proxy entity if proxy.lazyInitializer.session is null
+ * [HHH-4463] - Native queries should not be automatically paginated in getSingleResult() as it fails for some DB and or queries
+ * [HHH-4475] - Constants point to non-existing default JBC/JGroups config file locations
+ * [HHH-4486] - Account for MySQL's <DROP TEMPORARY TABLE> statement
+ * [HHH-4494] - cglib log warning says BytecodeProvider impl is considered deprecated
+ * [HHH-4500] - MSSQL, Oracle - Mapping inconsistency
+ * [HHH-4503] - Sybase - Annotations - unit tests using LOBs fail
+ * [HHH-4507] - Persistence units in entitymanager's testsuite are using fixed hsqldb configuration
+ * [HHH-4513] - AnotationConfiguration does not honor hibernate.validator.apply_to_ddl property in case Hibernate Validator 4 is activated
+ * [HHH-4522] - CallbackAndDirtyTest throws exception when run against PostgreSQL
+ * [HHH-4525] - Trunk is not including the newly added modules to the distribution bundle
+ * [HHH-4532] - Unit Tests in test/idgen/enhanced/forcedtable need update
+
+** Improvement
+ * [HHH-3461] - Enhance DialectFactory to support Sybase Adaptive Server Anywhere
+ * [HHH-4364] - Support @NamedQuery on a @MappedSuperclass (Sharath Reddy)
+ * [HHH-4382] - @ManyToOne not working wth @Formula
+ * [HHH-4397] - Split test involving database specific features (like sequence / identity)
+ * [HHH-4405] - Integrate new long string and binary property types in core with annotations
+ * [HHH-4415] - TestCase could check for superclass of Dialect before skipping it
+ * [HHH-4442] - Change StandardDialectResolver to use SybaseASE15Dialect over deprecated SybaseDialect
+ * [HHH-4443] - Allow generic handling of any Hibernate type for post-insert generated identifiers
+ * [HHH-4476] - Move cache-jbosscache to JBoss Cache 3.2.1
+ * [HHH-4484] - When JBoss Cache is configured for INVALIDATION don't send cluster message on entity insert
+ * [HHH-4502] - Update database profiles in pom.xml
+ * [HHH-4508] - Typo in DialectFactory - avalable should be available
+ * [HHH-4523] - Some of the tests in the entitymanager have hard coded connection settings - these tests should use filtered connection settings
+ * [HHH-4526] - Add better metainf information tot he hibernate all jar gennerated for dist
+
+** New Feature
+ * [HHH-1012] - Index not created by SchemaUpdate
+ * [HHH-1480] - JOIN precendence rules per SQL-99
+ * [HHH-3000] - Allow a TypeDef to be associated with a class (Sharath Reddy)
+ * [HHH-4103] - Implement an Infinispan 2nd level cache provider
+ * [HHH-4232] - TypeDef support on @Embeddable or @MappedSuperClass classes (Sharath Reddy)
+ * [HHH-4332] - Filters for MappedSuperClass
+ * [HHH-4473] - Create documentation to explain the usage of the new 'defaultForType' attribute of the TypeDef annotation
+ * [HHH-4479] - We should be able to implement Joins using formulas with Annotations
+ * [HHH-4512] - TypeDef annotation should support both 'name' and 'defaultForType' attributes
+
+** Patch
+ * [HHH-3972] - Adding FETCH FIRST and OFFSET support to DerbyDialect
+ * [HHH-4440] - Support for column-level read/write fragments (Rob Hasselbaum)
+ * [HHH-4488] - ListProxy, MapProxy etc. - problems during marshalling/demarchalling
+
+** Task
+ * [HHH-2412] - Support for JDBC4
+ * [HHH-3580] - import entitymanager into core as a module
+ * [HHH-3849] - Disable lock striping in JBoss Cache configs
+ * [HHH-4355] - Allow running tests against different databases by using a simple switch
+ * [HHH-4485] - Replace the JBoss Cache integration configuration properties with "jbc2"-less versions
+ * [HHH-4487] - Restore versions of the old public API jbc2 package classes
+ * [HHH-4499] - Account for modules needing JDK 1.6
+ * [HHH-4501] - Use Maven wagon-scm provider for release deployments
+ * [HHH-4530] - Change the docbook style for Annotations and EntityManager to the latest styles used in the other Core modules
+ * [HHH-4538] - Update to Bean Validation 1.0.0 and Hibernate Validator 4.0.0
+
+
+Changes in version 3.5.0.Beta-1 (2009.08.18)
+-------------------------------------------
+
+** Sub-task
+ * [HHH-3801] - Create a cache-jbosscache-legacy module
+ * [HHH-3802] - Move the up-to-date JBC integration into cache-jbosscache
+ * [HHH-3803] - Repackage JBC integration to org.hibernate.cache.jbc
+ * [HHH-4027] - Remove current cache-jbosscache module content
+ * [HHH-4028] - Move current cache-jbosscache2 module content to cache-jbosscache
+ * [HHH-4029] - Remove cache-jbosscache2 module
+
+** Bug
+ * [HHH-1930] - QuerySyntaxException "with-clause expressions did not reference from-clause element to which the with-clause was associated"
+ * [HHH-2146] - NullpointerException in DefaultDeleteEventListener.deleteTransientEntity
+ * [HHH-2694] - create-drop with c3p0 causes SQLException
+ * [HHH-2745] - NullPointerException when eager fetching joined many-to-many with native SQL query
+ * [HHH-3046] - Merge fails on complicated data structure because of cycle references
+ * [HHH-3216] - Incorrect parse result in ParameterParser
+ * [HHH-3231] - org.hibernate.id.enhanced.TableGenerator throws "IllegalArgumentException: alias not found: tbl" under Oracle
+ * [HHH-3351] - Dynamic entity model and inheritance - exception when trying to persist
+ * [HHH-3392] - Query Cache entries are not distributable
+ * [HHH-3472] - JTASessionContext broken for WebSphere
+ * [HHH-3481] - JTATransactionFactory bug when Transaction cannot be found in JNDI
+ * [HHH-3506] - enabled filters should apply to HQL update/delete statements
+ * [HHH-3508] - Sybase Dialect - Override supportsCascadeDelete to return "false"
+ * [HHH-3519] - account for parameters in select clause of INSERT-SELECT for DB2
+ * [HHH-3528] - FETCH JOIN query doesn't work in a StatelessSession
+ * [HHH-3573] - Incorrect support for columns which aren't insertable
+ * [HHH-3575] - Empty versions-query (both types) will cause a runtime exception
+ * [HHH-3584] - Generate SQL when Dynamic Update is true is including version field even when marked as updateable=false
+ * [HHH-3594] - Hibernate collection listener throw exception when adding entity to the collection
+ * [HHH-3600] - exception while saving bidirectional association
+ * [HHH-3602] - Inheritence issue
+ * [HHH-3621] - Assertion failure in MigrationTest
+ * [HHH-3623] - Make at least ListProxy serializable
+ * [HHH-3633] - Envers ignores empty discriminator classes
+ * [HHH-3636] - Attempt to read invalid column when loading collection of subclasses mapped with table-per-subclass with discriminator
+ * [HHH-3640] - Some standard SQL functions are not implemented in Sybase
+ * [HHH-3647] - instance not of expected entity type: java.util.HashMap is not a: smx3.schema3.Party_AUD
+ * [HHH-3652] - CompositeIdWithGeneratorTest needs a standard way to compare timestamps
+ * [HHH-3662] - Merging read-only entities causes AssertionError("Merged entity does not have status set to MANAGED...")
+ * [HHH-3668] - Sybase does not support implicit conversion from character types to numeric types causes failing unit tests
+ * [HHH-3670] - Invalid test for str() for SQL Server and Sybase
+ * [HHH-3671] - The revision type field is not persisted when setting a custom revision type field name throught the properties
+ * [HHH-3672] - Sybase - second(), minute(), hour(), and extract() cause GenericJDBCException
+ * [HHH-3675] - Limitations on Sybase ResultSet implementation cause unit test failures
+ * [HHH-3679] - Sybase conversion of Java byte to tinyint fails with 8-bit values causing unit test failures
+ * [HHH-3680] - Sybase - composite primary key in unit test exceeds maximum for index causing failure
+ * [HHH-3686] - Sybase - QueryCacheTest.testQueryCacheInvalidation fails
+ * [HHH-3693] - Implicit Polymorphic query + pagination returning zero result
+ * [HHH-3696] - Sybase - unit tests fail when numeric values overflow in precision or scale on insert
+ * [HHH-3698] - Problem with HQL parameter bindings as indexed collection selectors
+ * [HHH-3699] - Problem with HQL parameter bindings for parameters in WITH join clause
+ * [HHH-3701] - SQL function "trim" is not available in Sybase Dialect
+ * [HHH-3703] - RevisionEntity with compound primary key fails
+ * [HHH-3705] - NPE encountered on using AnnotationConfiguration
+ * [HHH-3706] - Audit Table Schema not generated using <annotationconfiguration>
+ * [HHH-3729] - @AuditJoinTable annotation has no effect for embedded concrete subclasses of a MappedSuperClass
+ * [HHH-3736] - Envers EntityInstantiator does not support private constructors for immutable entities
+ * [HHH-3740] - Unable to build EntityManagerFactory when using a non-audited ManyToOne in Audited components
+ * [HHH-3741] - Join tables are not audited if the join is defined in an abstract
+ * [HHH-3773] - NPE when generating schema containing OneToMany relations
+ * [HHH-3779] - "org.hibernate.MappingException: An audited relation to a non-audited entity" during schema-export ant task
+ * [HHH-3782] - Saving a one-to-many relationship results in unsaved transient instance exception
+ * [HHH-3794] - Issue when method return type is Interface
+ * [HHH-3810] - Transient entities can be inserted twice on merge
+ * [HHH-3830] - Problem with inheritance and @ManyToMany relation
+ * [HHH-3847] - java.lang.NullPointerException on onPreRemoveCollection on replicate of persistent class
+ * [HHH-3871] - unnecessary proxy initialization on audit record save
+ * [HHH-3878] - Exception when querying historical data for deleted Entites
+ * [HHH-3880] - org.hibernate.id.enhanced.TableStructure missing "as" keyword in select statment column renames; required for PostgreSQL
+ * [HHH-3888] - Envers schema generation (ant) ignoring columnDefinition ( atribute of @Column, JPA )
+ * [HHH-3912] - Change for HHH-3159 causes InstantiationException
+ * [HHH-3918] - Use standard JDK exception nesting
+ * [HHH-3923] - Enver throws Nullpointer exception with a self reference entities
+ * [HHH-3939] - @NotAudited association requires and joins to the associated table
+ * [HHH-3957] - Audited Null Embeddable objects not returned as null
+ * [HHH-3980] - Fix for HHH-2980 introduced bug that allows the same bag collection role to be fetched multiple times
+ * [HHH-4003] - many-to-many loaders should use inner joins from the collection table to element table
+ * [HHH-4034] - Update org.hibernate.action.BulkOperationCleanupAction to use new Region cache APIs
+ * [HHH-4088] - Session.getSession should always return sessions from parent (or root) session
+ * [HHH-4091] - HQLTest#testDuplicateImplicitJoinInSelect
+ * [HHH-4099] - Doc build error (http://jira.codehaus.org/browse/MNG-1323)
+
+** Improvement
+ * [HHH-1234] - allow tuplizers the opportunity to influence getSubclassEntityPersister() processing
+ * [HHH-2592] - force hibernate to generate use offset qeury when offset is zero
+ * [HHH-2686] - Include a primary key in the sequence table used by id.enhanced.TableGenerator
+ * [HHH-2802] - Support HQL style order by (JPA @OrderBy)
+ * [HHH-2980] - Error "org.hibernate.HibernateException: cannot simultaneously fetch multiple bags" not specific enough
+ * [HHH-3159] - Oracle 11g - desupport of oracle.jdbc.driver
+ * [HHH-3249] - Make o.h.id.enhanced.TableGenerator more extension-friendly
+ * [HHH-3275] - Allow pluggable tuplizers for composite elements
+ * [HHH-3357] - improve performance of session.clear()
+ * [HHH-3383] - QueryKey is storing references to entities instead of identifiers
+ * [HHH-3424] - concat() with param binding fails function on derby
+ * [HHH-3439] - Change o.h.cfg.Mappings to not require constructor
+ * [HHH-3454] - Allow enhanced.TableGenerator to segment itself per entity as default
+ * [HHH-3456] - Make o.h.id.enhanced.SequenceStyleGenerator more extension-friendly
+ * [HHH-3471] - Provide true-false type that maps to int values
+ * [HHH-3515] - Introduce EntityNameResolver interface
+ * [HHH-3517] - Allow definition of the default tuplizer class to use
+ * [HHH-3518] - Remove Suite classes from testsuite module
+ * [HHH-3525] - Clean up reflection code trying to determine JDK 1.4 capabilities
+ * [HHH-3532] - schema update task should look for foreign key signature
+ * [HHH-3708] - Suboptimal exception on m:n relations with an unaudited entity
+ * [HHH-3712] - Reorganize the Sybase dialect class hierarchy, add SybaseASE15Dialect, and mark SybaseDialect as deprecated
+ * [HHH-3737] - Support Hibernate 3.3 branch in Envers until 3.4.0GA is out
+ * [HHH-3750] - Allow dialects to handle difference in how Query.setFirstResult() should be interpreted
+ * [HHH-3753] - Upgrade to SLF4J version 1.5.8
+ * [HHH-3832] - Upgrade to cglib-2.2.jar
+ * [HHH-3842] - Update maven profiles to use the databases in QA Lab
+ * [HHH-3886] - Update database credentials for QA Lab
+ * [HHH-3892] - Improve support for mapping SQL LONGVARCHAR and CLOB to Java String, SQL LONGVARBINARY and BLOB to Java byte[]
+ * [HHH-3944] - Document known database portability strategies
+ * [HHH-3978] - Expose Hibernate version via non-compile-time constant expression
+ * [HHH-3982] - Apply build version to org.hibernate.Version
+ * [HHH-3998] - Fix spurious failures in ConfigurationPerformanceTest
+ * [HHH-3999] - Change mysql hostname in pom.xml
+ * [HHH-4016] - SAPDialect should not use oracle style outer joins, ANSI style is prefered by MaxDB
+ * [HHH-4022] - Add an actual API contract for querying/managing cache regions (from app code)
+
+** New Feature
+ * [HHH-3343] - Postgres Plus Dialect
+ * [HHH-3512] - Registration of IdentifierGenerators (short naming)
+ * [HHH-3559] - Possibility to do versioning and non-versioning commits as required
+ * [HHH-3560] - Assume entities relationships as unversioned by default
+ * [HHH-3563] - Support relations in components
+ * [HHH-3564] - Support for the three types of inheritance
+ * [HHH-3565] - Direct property access
+ * [HHH-3568] - In the hibernate mapping of versions entities, mark them as not updateable
+ * [HHH-3570] - Move from "Versioning" to "Auditing"
+ * [HHH-3588] - RevisionType available via public API
+ * [HHH-3598] - Add the possibility to specify restrictions on RevisionType, using RevisionTypeProperty
+ * [HHH-3611] - Extend revision restrictions in the query system
+ * [HHH-3663] - Request to add Joined inheritance strategy supported for versioning
+ * [HHH-3697] - Turn on/turn off versioning in runtime
+ * [HHH-3723] - Publish sources to maven (snapshot) repository
+ * [HHH-3781] - Echo version information to the console in main()
+ * [HHH-3819] - Deleted entries with non null properties
+ * [HHH-3823] - Obtain current revision entity by AuditReader
+ * [HHH-3898] - Add a flag to disable Nullability.checkNullability() and the exception raised in this case
+ * [HHH-3906] - Move to JPA 2 API as a dependency
+ * [HHH-4010] - support auditing of entity having reference (many-to-one relation) to not audited entity
+ * [HHH-4081] - Support for JPA 2.0 "qualified identification variables" (KEY, VALUE and ENTRY)
+
+** Patch
+ * [HHH-530] - Allow application of filters on subqueries
+ * [HHH-2933] - allow custom resolution of Dialect (Tomoto Shimizu Washio)
+ * [HHH-3401] - H2 Database Dialect Fixes
+ * [HHH-3450] - Include SingletonEhCacheProvider as an additional caching provider (Greg Luck)
+ * [HHH-3639] - Sybase keywords - rename columns
+ * [HHH-3649] - DB2Dialect inherits supportsPooledSequences() as false, but it does support
+ * [HHH-3650] - TableGenerator doesn't marks the "primary key" as not null, causing errors in some RDBMS's which expects the PK to be not-null
+ * [HHH-3742] - Documentation corrections
+ * [HHH-3744] - Improved support for persistence of subclasses
+ * [HHH-4037] - Fixing build errors in documentation/manual
+
+** Task
+ * [HHH-3214] - Update unit tests and config files to use non-depracated Oracle dialects
+ * [HHH-3474] - Upgrade to use slf4j 1.5 (1.5.2)
+ * [HHH-3547] - import Envers into Hibernate core as a module
+ * [HHH-3549] - import commons-annotations back into core as a module
+ * [HHH-3550] - import annotations into core as a module
+ * [HHH-3556] - Convert documentation to docbook
+ * [HHH-3585] - Upgrade to JBoss Cache 3
+ * [HHH-3760] - Document EntityNameResolver
+ * [HHH-3761] - Document DialectResolver
+ * [HHH-3879] - Envers documentation: configuration of event listeners is incomplete for JPA: @PostPersist, @PostUpdate @PostRemove no longer work
+ * [HHH-3953] - Update tutorial chapter
+ * [HHH-3979] - Upgrade to javassist 3.9.0
+ * [HHH-3981] - Upgrade to jDocBook 2.2.0
+
+
+Changes in version 3.3.0.GA (2008.08.13)
+-------------------------------------------
+
+** Bug
+ * [HHH-3430] - distribution bundles cglib directly instead of the hibernate repackaging
+
+
+Changes in version 3.3.0.CR2 (2008.07.31)
+-------------------------------------------
+
+** Bug
+ * [HHH-1697] - OracleDialect fails to recognize sequence accessible through syonyms when validating schema
+ * [HHH-2604] - Isolator.JdbcDelegate masks the exception if it isn't possible to open a connection.
+ * [HHH-2683] - "datediff" is declared as NoArgSQLFunction in H2Dialect, but actually accepts 3 arguments.
+ * [HHH-3006] - ConcurrentModificationException in AbstractBatcher results in infinite loop
+ * [HHH-3229] - Merge can fail when there is a transient entity reachable by multiple paths and at least one path does not cascade on merge
+ * [HHH-3257] - Content images not displayed
+ * [HHH-3260] - Hibernate wraps a listener init or destroy exception into an AssertionFailure
+ * [HHH-3261] - Do not wrap exceptions raised by event listeners (at init or destroy time)
+ * [HHH-3265] - change license url in pom to http://www.gnu.org/licenses/lgpl-2.1.html
+ * [HHH-3266] - distribution bundle missing jta dependency
+ * [HHH-3272] - using of Integer.valueOf(int), which is not available in JDK 1.4
+ * [HHH-3282] - DB2Dialect should report supportsLobValueChangePropogation() == false
+ * [HHH-3309] - Serialize/Deserialize problem in AbstractLazyInitializer with entitymode.MAP.
+ * [HHH-3409] - ResultTransformers need smarter equals() and hashCode() impls
+
+** Improvement
+ * [HHH-1786] - JTASessionContext.CleanupSynch does not remove sessions from currentSessionMap
+ * [HHH-2060] - To be able to use <generator> with <composite-id>
+ * [HHH-2506] - Make javassist the default ByteCodeProvider
+ * [HHH-2875] - repackage cglib/asm under org.hibernate namespace
+ * [HHH-3269] - upgrade to jDocBook plugin version 2.1.1
+ * [HHH-3283] - protect BulkManipulationTest#testInsertWithGeneratedTimestampVersion where Dialect#supportsParametersInInsertSelect == false
+ * [HHH-3358] - Enable JTATransactionFactory and JTATransaction factory to work without JNDI
+ * [HHH-3390] - Use READ_COMMITTED for JBC 2 cache
+
+** Patch
+ * [HHH-3294] - Version incorrectly incremented for unchanged persistent entity that is parent of a one to many relationship
+
+** Task
+ * [HHH-3270] - follow up on documentation license questions
+
+
+
+Changes in version 3.3.0.CR1 (2008.04.28)
+-------------------------------------------
+
+** Bug
+ * [HHH-1312] - Unclosed ResultSet when using Identity
+ * [HHH-1396] - Table.validateColumns fails on valid column
+ * [HHH-1569] - Immutable Natural Id check fails with ArrayIndexOutOfBounds in some cases
+ * [HHH-1593] - Infinite loop/StackOverflow when calling configuration.setListener(null)
+ * [HHH-1753] - DB2Dialect.getCurrentTimestampSQLFunctionName() uses Oracle syntax
+ * [HHH-1916] - param values in generator element should be trimmed during HbmBinding
+ * [HHH-1920] - Incorrect documentation regarding XML manipulation in Hibernate reference manual (chapter 18.3).
+ * [HHH-1956] - Interceptor.afterTransactionCompletion not called with JTATransaction (CacheSynchronization.hibernateTransaction not set)
+ * [HHH-2159] - NullPointerException in FromElement#findIntendedAliasedFromElementBasedOnCrazyJPARequirements with 'hibernate.query.jpaql_strict_compliance' enabled
+ * [HHH-2164] - Minor bug in section "20.1.1. Customizing the schema"
+ * [HHH-2200] - Memory leak in AbstractBatcher with Generated Properties
+ * [HHH-2320] - Regression: optional properties under a <join> tag no longer update properly
+ * [HHH-2503] - AbstractEntityPersister swallows JDBCExceptions in processGeneratedProperties
+ * [HHH-2513] - Abusive WARN logged during deserialization of replicated SessionFactory
+ * [HHH-2542] - NullPointerException in TypeFactory.replaceAssociations for ComponentType
+ * [HHH-2553] - New LoadContexts Implementation causing possible performance degradation
+ * [HHH-2593] - Keyword UNION is prefixed with "this_." in filter conditions
+ * [HHH-2616] - No event is fired on Collection recreate/remove/update action
+ * [HHH-2627] - Generated properties leak prepared statements in Hibernate 3.2.3 and higher.
+ * [HHH-2631] - Leaking PreparedStatement and ResultSet via CollectionLoadContext instances maintained in Map collectionLoadContexts in LoadContexts
+ * [HHH-2711] - PropertyAccessException with backref and <composite-map-key/>
+ * [HHH-2726] - spelling o your CLASSPATH
+ * [HHH-2728] - Calling session.clear() while retrieving objects via an iterator will cause a "LazyInitializationException - No Session" by the CGLIBLazyInitializer
+ * [HHH-2788] - Oracl8iDialect No Dialect mapping for JDBC type 91
+ * [HHH-2795] - CollectionLoadContexts for empy collections are not removed until PersistenceContext.clear()
+ * [HHH-2816] - DefaultFlushEntityEventListener.checkNaturalId() causes extra SELECTs on read-only entities
+ * [HHH-2833] - insert-select query fails with NPE when select includes join
+ * [HHH-2857] - schemaSupport for HSQLDialect remote connections doesn't work
+ * [HHH-2861] - cascade="delete-orphan,all" is ignored
+ * [HHH-2863] - testsuite fix-ups for maven and/or directory changes
+ * [HHH-2864] - Merging a detached instance with a new child in a unidirectional one-to-many association fails if the parent was previously loaded as a proxy
+ * [HHH-2892] - skip up-to-date checks of query cache for natural-id only if immutable
+ * [HHH-2928] - optimizers for enhanced id generators should be synchronized against multi-threaded access
+ * [HHH-2948] - QueryStatistics.executionMinTime always = 0
+ * [HHH-3111] - WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.getStatus() implemented incorrect
+ * [HHH-3140] - Region prefix ignored for entities and collections
+
+** Deprecation
+ * [HHH-2755] - Wrong "jsdk.jar" referenced in the tutorial
+
+** Improvement
+ * [HHH-1786] - JTASessionContext.CleanupSynch does not remove sessions from currentSessionMap
+ * [HHH-2048] - Incomplete MappingException at org.hibernate.mapping.SimpleValue
+ * [HHH-2156] - Section 19.3, "Managing the caches" doesn't document CacheMode.IGNORE
+ * [HHH-2533] - redesign Cache/CacheProviders
+ * [HHH-2662] - Workaround PostgreSQL issues in testsuite
+ * [HHH-2663] - Map java.sql.Types.REAL to Hibernate FloatType for auto-discovery stuff
+ * [HHH-2665] - Split Oracle9Dialect into Oracle9iDialect and Oracle10gDialect
+ * [HHH-2669] - Unequivocally map MySQL LOB types to the LONG variant
+ * [HHH-2682] - support for auto-discovery of H2 dialect
+ * [HHH-2696] - Consider migrating to slf4j
+ * [HHH-2761] - Handle null and empty string consistently in PropertiesHelper
+ * [HHH-2778] - TransactionManagerLookup implementation for Bitronix Transaction Manager
+ * [HHH-2789] - Section 19.2 of the documentation does not show OSCache as supporting clusters. It does.
+ * [HHH-2822] - timestamp extraction functions for SAPDBDialect
+ * [HHH-2826] - IS [NOT] NULL checks with component values
+ * [HHH-2859] - Introduce a 'Work' API for user to perform JDBC work
+ * [HHH-3131] - Add a method to ActionQueue to tell whether there are currently entries in the executions collection
+
+** New Feature
+ * [HHH-1] - Optimize Hibernate for the bulk insertion of related entities
+ * [HHH-2555] - Create new RegionFactory for JBossCache
+ * [HHH-2884] - Provide a sessionFactory close event or hook for the event listeners
+
+** Patch
+ * [HHH-952] - Patch to allow subqueries with joins using Criteria API and Subqueries with DetachedCriteria
+ * [HHH-2070] - Expand DB2Dialect auto-discovery support (Martin Renner)
+ * [HHH-2519] - Schema dropping not documented with hibernate.hbm2ddl.auto=create
+ * [HHH-2630] - Hibernate Dialect is not auto-detected for Sybase ASE and DB2 (Shelley McGowan)
+ * [HHH-2758] - Patch IngresDialect based on certification
+ * [HHH-2839] - Don't use dummy dual table for hsqldb (David Bala?ic)
+ * [HHH-2849] - Better error logging in IdentifierGeneratorFactory (Antony Stubbs)
+ * [HHH-2957] - ActionQueue Insertion sort performance degrades exponentially (Jay Erb)
+ * [HHH-3084] - DialectFactory detection of Ingres metadata (Michael Leo)
+
+** Task
+ * [HHH-2702] - Officially move to JDK 1.4
+ * [HHH-2704] - Migrate to Maven2 for build
+
+
+Changes in version 3.2.6 (2008.02.07)
+-------------------------------------------
+
+** Bug
+ * [HHH-925] - DetachedCriteria.createCriteria not working with alias
+ * [HHH-1312] - Unclosed ResultSet when using Identity
+ * [HHH-1329] - SchemaValidator fail when views are involved
+ * [HHH-1593] - Infinite loop/StackOverflow when calling configuration.setListener(null)
+ * [HHH-1685] - DetachedCriteria doesn't create alias on subcriteria
+ * [HHH-1753] - DB2Dialect.getCurrentTimestampSQLFunctionName() uses Oracle syntax
+ * [HHH-1916] - param values in generator element should be trimmed during HbmBinding
+ * [HHH-1956] - Interceptor.afterTransactionCompletion not called with JTATransaction (CacheSynchronization.hibernateTransaction not set)
+ * [HHH-2016] - Oracle9Dialect registers last_day() function as "lastday"
+ * [HHH-2159] - NullPointerException in FromElement#findIntendedAliasedFromElementBasedOnCrazyJPARequirements with 'hibernate.query.jpaql_strict_compliance' enabled
+ * [HHH-2200] - Memory leak in AbstractBatcher with Generated Properties
+ * [HHH-2261] - Setting hibernate.hbm2ddl.auto=validate causes problems on mySQL with numeric fields
+ * [HHH-2320] - Regression: optional properties under a <join> tag no longer update properly
+ * [HHH-2503] - AbstractEntityPersister swallows JDBCExceptions in processGeneratedProperties
+ * [HHH-2542] - NullPointerException in TypeFactory.replaceAssociations for ComponentType
+ * [HHH-2593] - Keyword UNION is prefixed with "this_." in filter conditions
+ * [HHH-2598] - Mapping a collection of entities from two different classes with the same collection name results in duplicate backref property exception if collection keys are not null
+ * [HHH-2616] - No event is fired on Collection recreate/remove/update action
+ * [HHH-2627] - Generated properties leak prepared statements in Hibernate 3.2.3 and higher.
+ * [HHH-2728] - Calling session.clear() while retrieving objects via an iterator will cause a "LazyInitializationException - No Session" by the CGLIBLazyInitializer
+ * [HHH-2788] - Oracl8iDialect No Dialect mapping for JDBC type 91
+ * [HHH-2795] - CollectionLoadContexts for empy collections are not removed until PersistenceContext.clear()
+ * [HHH-2816] - DefaultFlushEntityEventListener.checkNaturalId() causes extra SELECTs on read-only entities
+ * [HHH-2833] - insert-select query fails with NPE when select includes join
+ * [HHH-2857] - schemaSupport for HSQLDialect remote connections doesn't work
+ * [HHH-2861] - cascade="delete-orphan,all" is ignored
+ * [HHH-2864] - Merging a detached instance with a new child in a unidirectional one-to-many association fails if the parent was previously loaded as a proxy
+ * [HHH-2892] - skip up-to-date checks of query cache for natural-id only if immutable
+ * [HHH-2928] - optimizers for enhanced id generators should be synchronized against multi-threaded access
+ * [HHH-2948] - QueryStatistics.executionMinTime always = 0
+
+** Improvement
+ * [HHH-1630] - duplicate property mapping - more details
+ * [HHH-1696] - Add outer join support for aliases on DetachedCriteria
+ * [HHH-2048] - Incomplete MappingException at org.hibernate.mapping.SimpleValue
+ * [HHH-2682] - support for auto-discovery of H2 dialect
+ * [HHH-2761] - Handle null and empty string consistently in PropertiesHelper
+ * [HHH-2822] - timestamp extraction functions for SAPDBDialect
+ * [HHH-2826] - IS [NOT] NULL checks with component values
+ * [HHH-2852] - Better error messages when schema validation fails
+
+** Patch
+ * [HHH-952] - Patch to allow subqueries with joins using Criteria API and Subqueries with DetachedCriteria
+ * [HHH-2070] - Expand DB2Dialect auto-discovery support (Martin Renner)
+ * [HHH-2839] - Don't use dummy dual table for hsqldb (David Bala?ic)
+ * [HHH-2849] - Better error logging in IdentifierGeneratorFactory (Antony Stubbs)
+ * [HHH-2957] - ActionQueue Insertion sort performance degrades exponentially (Jay Erb)
+ * [HHH-3084] - DialectFactory detection of Ingres metadata (Michael Leo)
+
+** Task
+ * [HHH-2559] - http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd needs to be updated
+ * [HHH-3085] - Remove connector.jar (unnecessary library)
+ * [HHH-3086] - Remove jdbc2_0-stdext.jar (unnecessary library)
+
+
+Changes in version 3.2.5 (2007.07.31)
+-------------------------------------------
+
+** Bug
+ * [HHH-1116] - batch-size typo
+ * [HHH-1561] - Missing " in Documentation for H3, Chapter 15.8
+ * [HHH-1569] - Immutable Natural Id check fails with ArrayIndexOutOfBounds in some cases
+ * [HHH-1694] - Documentation Outdated: "10.4.4. Queries in native SQL"
+ * [HHH-2180] - minordocumentation error in hbm xml
+ * [HHH-2201] - session.iterate() does not exist
+ * [HHH-2267] - A copy/paste mistake in the documentation for <schemavalidator> ant task
+ * [HHH-2334] - Documentation error in section 5.1.3
+ * [HHH-2420] - Error in 2.5. Contextual Sessions
+ * [HHH-2502] - The second level caching documentation states that ehcache is not distributed.
+ * [HHH-2631] - Leaking PreparedStatement and ResultSet via CollectionLoadContext instances maintained in Map collectionLoadContexts in LoadContexts
+ * [HHH-2649] - Batcher configuration parameter incorrectly documented
+ * [HHH-2711] - PropertyAccessException with backref and <composite-map-key/>
+ * [HHH-2713] - duplicated phrase in docs "of the of the"
+ * [HHH-2714] - Three typos in code examples
+ * [HHH-2719] - adddress --> address
+ * [HHH-2720] - Monetory --> Monetary
+
+** Improvement
+ * [HHH-1022] - incomplete documentation in _README.txt in the lib directory
+ * [HHH-1682] - Improve the description of differences between save() and persist()
+ * [HHH-2048] - Incomplete MappingException at org.hibernate.mapping.SimpleValue
+ * [HHH-2417] - Update book on Hibernate reference
+ * [HHH-2418] - Refer HSQL DB website in chapter 1.2.3
+ * [HHH-2487] - Typo in "5.1.7. version (optional)"
+ * [HHH-2550] - Update API Class in 10.4.3. Criteria queries
+ * [HHH-2662] - Workaround PostgreSQL issues in testsuite
+ * [HHH-2663] - Map java.sql.Types.REAL to Hibernate FloatType for auto-discovery stuff
+ * [HHH-2665] - Split Oracle9Dialect into Oracle9iDialect and Oracle10gDialect
+
+** Patch
+ * [HHH-2520] - Miscellaneous config doc spelling fixes
+ * [HHH-2630] - Hibernate Dialect is not auto-detected for Sybase ASE and DB2 (Shelley McGowan)
+ * [HHH-2758] - Patch IngresDialect based on certification
+
+** Task
+ * [HHH-2551] - Deprecate org.hibernate.criterion.Expression
+ * [HHH-2566] - Replace usages of FlushMode.NEVER with FlushMode.MANUAL
+ * [HHH-2567] - Update reference to use FlushMode.MANUAL
+ * [HHH-2568] - Hibernate javadoc overview refering wrong classes and packages
+
+
+Changes in version 3.2.4.sp1 (2007.05.18)
+-------------------------------------------
+
+** Bug
+ * [HHH-2605] - Since 3.2.4 no value specified for row id
+ * [HHH-2613] - LockMode.FORCE on non versioned entity leads to NPE
+
+
+Changes in version 3.2.4 (2007.05.09)
+-------------------------------------------
+
+** Bug
+ * [HHH-511] - reattach object from same session
+ * [HHH-2316] - org.hibernate.cache.CacheKey.equals() can cause PropertyAccessException to be thrown
+ * [HHH-2553] - New LoadContexts Implementation causing possible performance degradation
+ * [HHH-2602] - instrumented many-to-one problem with aggressive release
+
+** Deprecation
+ * [HHH-2603] - Deprecate the Session.connection() method
+
+** Improvement
+ * [HHH-2549] - Warn users explicitly about schemaexport and schemaupdate does not support annotations
+
+** New Feature
+ * [HHH-1] - Optimize Hibernate for the bulk insertion of related entities
+
+** Patch
+ * [HHH-2301] - Identity generator with custom insert SQL broken in 3.2 (Scott Rankin and Gail Badner)
+ * [HHH-2336] - paremeterizable and typedef-able UserCollectionType (Holger Brands)
+ * [HHH-2580] - Performace: Too many lookups of WAS extended transaction support (Jesper Udby)
+
+
+Changes in version 3.2.3 (2007.04.02)
+-------------------------------------------
+
+** Bug
+ * [HHH-2376] - Query with fully qualified entity class fails
+ * [HHH-2392] - LockModes referencing non-root joined-subclass class in HQL/Criteria
+ * [HHH-2393] - Generated properties leave open ResultSet on Batcher to be closed on transaction completion
+ * [HHH-2397] - hilo generator can generate negative numbers because of arithmetic overflow
+ * [HHH-2469] - ArrayIndexOutOfBoundsException during update by rowid
+ * [HHH-2476] - PersistentMap.put() incorrect on uninitialized, non-extra-lazy map
+ * [HHH-2481] - Big memory leak in the use of CGLIB
+ * [HHH-2499] - incorrect assertion failure relating to generated property values
+ * [HHH-2513] - Abusive WARN logged during deserialization of replicated SessionFactory
+ * [HHH-2521] - Fix cascading of merge across component properties
+ * [HHH-2532] - update/delete executeUpdate() causes problems with JBossCache (at least in opt-locking setups)
+
+** Improvement
+ * [HHH-2495] - encapsulate the notion of state pertaining to processing a result set
+ * [HHH-2534] - better error message for illegal 'collection dereference' in HQL query
+ * [HHH-2535] - Change Cache' Cache71Dialect so that sequence support returns false
+
+** New Feature
+ * [HHH-2471] - create a set of "enhanced" generators
+ * [HHH-2500] - apply Terradata certification results
+
+** Patch
+ * [HHH-2367] - InformixDialect uses wrong data type
+ * [HHH-2489] - SQL comments for HQL bulk operations
+
+
+Changes in version 3.2.2 (2007.01.24)
+-------------------------------------------
+
+** Bug
+ * [HHH-1471] - If the 'generated' attribute is set to 'insert' or 'always' on the property of a component it is ignored and the value is not read from the database.
+ * [HHH-1646] - Bad code in FastClass.equals
+ * [HHH-1889] - LockMode.UPGRADE not applied in all cases for SQL Server / Sybase
+ * [HHH-2112] - ClassCastException in StatefulPersistenceContext.getCachedDatabaseSnapshot(...)
+ * [HHH-2221] - MySQL temp table DDL and isolation
+ * [HHH-2238] - SQLQuery executeUpdate doesn't respect Query.setFlushMode()
+ * [HHH-2251] - Settings build unnecessary in schemaupdate/schemavalidate
+ * [HHH-2257] - Query.iterate() results differ from Query.list() 2
+ * [HHH-2259] - autoflush and autoclose not longer occur in JTA environment with hibernate 3.2
+ * [HHH-2264] - NPE when NamedQuery contains space before variable name
+ * [HHH-2274] - Collection ordering when many to many order by is used is not respected
+ * [HHH-2275] - Mapping a composite element as a map key using formulas can lead to AOOBE
+ * [HHH-2284] - HQL: selecting components inside components doesn't work
+ * [HHH-2291] - collection based on property-ref not handled correctly during reattch
+ * [HHH-2292] - merge detached instance fails to persist collection changes in case of bare collection reference
+ * [HHH-2356] - NullableType.toString(Object) should account for nulls
+ * [HHH-2366] - Changing a component's value does not trigger an update during flush
+ * [HHH-2378] - replicate() of non-versioned entiy can result in wrong value for version in entity cache
+
+** Improvement
+ * [HHH-1851] - relax special handling of 'id' property
+ * [HHH-2130] - SQLQuery does not autoflush all entities used in the query
+ * [HHH-2193] - Introduce a flag to avoid checking NamedQuery at startup
+ * [HHH-2242] - Consider Allowing Optimistic Lock Strategies other than 'Version' with joined-subclass
+ * [HHH-2250] - Create an appropriate error message if Query.setEntity is passed a NULL value
+ * [HHH-2282] - PersistentClass property lookups do not properly account for embedded composite identifiers
+ * [HHH-2286] - dialect informational metadata
+ * [HHH-2372] - Allow tooling to create Settings via SettingsFactory without contacting the db
+
+** New Feature
+ * [HHH-2246] - No way to specify CACHE_PROVIDER_CONFIG in HibernateServiceMBean
+
+** Patch
+ * [HHH-2300] - Updated dialect for H2 database engine
+ * [HHH-2371] - enhancements to C3P0ConnectionProvider
+
+** Task
+ * [HHH-2032] - update c3p0 to 0.9.1
+
+
+
+Changes in version 3.2.1 (2006.11.16)
+-------------------------------------------
+
+** Bug
+ * [HHH-939] - 'class' property in HQL results in incorrect SQL for joined-subclass
+ * [HHH-1401] - session.merge() executes unnecessary updates when one-to-many relationship is defined.
+ * [HHH-1460] - Inconsistent behavior when using Session.get() with multiple subclasses
+ * [HHH-1564] - deleting versioned object with collection leads to unecessary update
+ * [HHH-1629] - SchemaUpdate/validator doesn't listen to quoting
+ * [HHH-1631] - Missing table in SQL from clause that is referenced in where clause when using joined subclass
+ * [HHH-1651] - hibernate does not find an existing sequence from an Oracle database
+ * [HHH-1663] - <any/> with collection will produce "AssertionFailure: collection was not processed by flush()"
+ * [HHH-1737] - Add a ConnectionWrapper interface to allow access to the underlying connection from a BorrowedConnectionProxy
+ * [HHH-1756] - Proxy objects are not removed from the BatchFetchQueue during a session evict
+ * [HHH-1774] - Component parameters bound incorrectly
+ * [HHH-1921] - "dirty, but no dirty properties" thrown when Interceptor resets properties.
+ * [HHH-1986] - javassist throws InvocationTargetException instead of original checked Exception
+ * [HHH-2027] - merge listener over-writes Interceptor changes to component state for a transient entity
+ * [HHH-2044] - DefaultMergeEventListener.entityIsDetached call StaleObjectStateException with wrong identifier
+ * [HHH-2082] - UpdateTimestampsCache.isUpToDate returns before checking all spaces
+ * [HHH-2108] - cacheable files broken
+ * [HHH-2138] - merge with bidirectional one-to-one may fail
+ * [HHH-2145] - set.retainAll calling set.addAll
+ * [HHH-2174] - Wrong log message in SessionImpl.afterTransactionCompletion(...)
+ * [HHH-2199] - Unique constraints on nullable columns should not be generated with unique-key is used and supportsNotNullUnique=false
+ * [HHH-2202] - Clearing the connection warnings even when log is > WARN to workaround a Sybase issue
+ * [HHH-2206] - SessionImpl tries to deserialize itself in an incorrect order
+ * [HHH-2207] - Suggested fix for HQL - MySQL setMaxResults issue
+ * [HHH-2226] - org.hibernate.hql.ast.tree.FromElementType contains warning log message that should be debug instead
+ * [HHH-2229] - Performance issue with fix for HHH-1293, CGLIBLazyInitializer may be slower for certain Java classes
+ * [HHH-2236] - Lazy property + setReadOnly + Instrumented classes results in NullPointerException when accessing lazy property
+
+** Improvement
+ * [HHH-2037] - provide Query.setProperties(Map)
+ * [HHH-2042] - Typo in FlushMode.MANUAL Javadoc
+ * [HHH-2057] - Add "remove" cascading style to CascadeStyle for XML mappings
+ * [HHH-2127] - Document <filter-def condition="defaultCondition"> and <filter-def>defaultCondition
+ * [HHH-2135] - Hibernate Deserialization: In org.hibernate.type.SerializableType the code makes a test for the return of a null object by simply testing the object as to whether or not it is null.
+ * [HHH-2185] - introduce setting to control cglib caching of classes
+ * [HHH-2203] - Make Post*Events extend AbstractEvent
+ * [HHH-2208] - Table schema use in DatabaseMetadata
+ * [HHH-2209] - ehcache.jar is old and does not contain the SingletonCacheProvider which are advised in exception messages
+ * [HHH-2217] - Collection write methods and dirtying the collection
+
+** New Feature
+ * [HHH-2205] - Dialect for Intersystems' Cache SQL 2007.1
+
+** Patch
+ * [HHH-1767] - read-only cache for immutable collection causes unnecessary warning
+
+** Task
+ * [HHH-2219] - Upgrade to Javassist 3.4
+
+
+Changes in version 3.2.0.ga (16.10.2006)
+-----------------------------------------
+(retag of 3.2.0.cr5 (2006.10.16))
+
+Changes in version 3.2.0.cr5 (04.10.2006)
+-------------------------------------------
+
+** Bug
+ * [HHH-1668] - PersistentSet write methods mark collection as dirty even if entry is not written
+ * [HHH-1714] - Session.get() behavior
+ * [HHH-1891] - Since rc3 deprecation Warning: The syntax 'TYPE=storage_engine' is deprecated and will be removed in MySQL 5.2.
+
+** Improvement
+ * [HHH-2093] - PERSIST_ON_FLUSH ineffective for recursive object graphs
+ * [HHH-2103] - Rolling back 'SELECT is mandatory' on JPA strict compliance
+
+** Task
+ * [HHH-1931] - verify that the instrument tasks actually work
+
+
+Changes in version 3.2.0.cr4 (24.08.2006)
+-------------------------------------------
+
+** Bug
+ * [HHH-1293] - java.lang.NoSuchMethodError: <persistent class>.getHibernateLazyInitializer()
+ * [HHH-1677] - optimistic-lock="dirty|all" is ignored at delete time
+ * [HHH-1710] - persistent collections with property-ref to secondary tables cannot be joined in HQL
+ * [HHH-1713] - AbstractEntityPersister causes an exception when a row in a joined table is missing with fetch="select"
+ * [HHH-1740] - Build-time instrumentation breaks lazy="proxy"
+ * [HHH-1750] - Exception ORA-01000 too many open cursors by generated="insert"
+ * [HHH-1806] - No Dialect mapping for JDBC type: 3
+ * [HHH-1848] - A session.lock generates a query with a version column in a joined subclass which does not exist
+ * [HHH-1892] - finish HHH-1789 for ordered and sorted collections
+ * [HHH-1898] - With hibernate 3.2.0-cr3 there is an hql parsing error on a one-to-one relation
+ * [HHH-1924] - ForeignKeys: TransientObjectException is thrown without a message because of a wrong bracket in the code
+ * [HHH-1927] - persist() and then merge() not handled correctly for multiple entity instances representing the same logical state
+ * [HHH-1937] - Proxy creation failure leads to NPEs
+ * [HHH-1943] - PersistenceContext not checked to see whether the associated entity is transient or not
+ * [HHH-1944] - generated subqueries and jpaql compliance (derived select clause) check
+ * [HHH-1947] - OF part of MEMBER OF is optional
+ * [HHH-1948] - Query Idetification variables are case insensitive in JPA
+ * [HHH-1949] - having trim(BOTH from c.name) translated into having ltrim(rtrim(BOTH)) on DB2
+ * [HHH-1954] - Proxies are never unassociated (evicted) from a session
+ * [HHH-1958] - session.lock(LockMode.FORCE) can lead to NPE
+ * [HHH-1963] - meta inheritance broken
+ * [HHH-1992] - Some cascade actions should not trigger a property access on lazy properties
+ * [HHH-2001] - javaassist does not setup the proper protection domain thus does not work with signed/secured deployments such as webstart
+ * [HHH-2015] - where= does not set parenthesis leading to unexpected query when multiclause are used
+ * [HHH-2017] - locate function defined on Oracle9Dialect is incorrect
+ * [HHH-2022] - property names beginning with underscores cause Hibernate to generate invalid aliases
+
+** Improvement
+ * [HHH-1470] - Enhance Hibernate-Mapping DTD Definition of type element
+ * [HHH-1934] - logging NonUniqueObjectException and WrongClassException
+ * [HHH-1941] - Be more specific about x not found and invalid mapping exceptions to allow tools to tell about it
+ * [HHH-1968] - unify bytecode instrumentation
+ * [HHH-1980] - disallow the mapping combination of <version/> and optimistic-lock
+ * [HHH-2005] - more standard build script
+ * [HHH-2023] - performance optimization of JTATransactionFactory.isTransactionInProgress()
+
+** Patch
+ * [HHH-1271] - When using Stored Procedure for update or delete, the check is not done correctly.
+
+** Task
+ * [HHH-1931] - verify that the instrument tasks actually work
+
+
+Chages in version 3.2 cr3 (2006.07.06)
+-------------------------------------------
+
+** Bug
+ * [HHH-1452] - Native SQL query is missing join if entity includes many-to-one on secondary table
+ * [HHH-1507] - one-to-one can have formula or meta but not both of them.
+ * [HHH-1552] - Error when using ?1 and parameterList
+ * [HHH-1586] - ClassCastException in CollectionType.toLoggableString if using CustomCollectionType
+ * [HHH-1732] - EhCache.toMap still assumes Serializable objects
+ * [HHH-1734] - Connection leak when using hilo strategy in SE environment
+ * [HHH-1741] - Bug in reference documentation
+ * [HHH-1746] - NullPointerException at IdentNode.resolveAsNakedComponentPropertyRefLHS(IdentNode.java:195
+ * [HHH-1748] - Setting a comment that contains a single quote on a query results in an unintuitive exception
+ * [HHH-1763] - Bug in InputStream org.hibernate.util.ConfigHelper.getResourceAsStream(String resource)
+ * [HHH-1791] - property update="false" ignored since 3.2.0.cr2
+ * [HHH-1816] - serializing session from a named session factory to a different vm broken
+ * [HHH-1822] - flushing entity linked to transient instance (non cascaded) should always fail
+ * [HHH-1828] - registering a transaction marked for Rollback is illegal
+ * [HHH-1833] - Not Generating HibernateException
+ * [HHH-1838] - Wrong SQL generated for hql query on "any" relation
+ * [HHH-1855] - booleans not properly handled in assignment clause of UPDATE statements
+ * [HHH-1858] - wrong sql generated against many-to-any association table
+ * [HHH-1871] - query type autodiscovery assume wrong column when mixing entities and scalars
+
+** Deprecation
+ * [HHH-1792] - Callable update/insert/delete statements should not force rowcount out parameter
+
+** Improvement
+ * [HHH-1617] - Check the second-level cache before adding a PK to a batch fetch
+ * [HHH-1773] - Typo in ImprovedNamingStrategy
+ * [HHH-1779] - Allow Session.remove() on transient object
+ * [HHH-1789] - improve efficiency of collection initialization from L2 cache hits
+ * [HHH-1795] - default cache provider to NoCacheProvider
+ * [HHH-1796] - TreeCache based providers and Fqn
+ * [HHH-1800] - session.get() / load() should raise exception when the id is of the wrong type
+ * [HHH-1818] - remove() should force subsequent contains() calls to return false
+ * [HHH-1831] - Batch loading the same EntityKey (one side of manytoone ) more than once
+ * [HHH-1861] - More complete component handling in HQL
+ * [HHH-1881] - introduce LoggableUserType interface
+
+** New Feature
+ * [HHH-1709] - Be able to raise ENFE rather than LIE in proxies
+ * [HHH-1727] - Add a SQLFunctionRegistry
+ * [HHH-1817] - Introduce setting for JPA-QL strict compliance
+ * [HHH-1826] - Built-in type for char[] -> VARCHAR Byte[] and Character[]
+
+** Patch
+ * [HHH-1558] - Dialect for new database engine H2
+ * [HHH-1847] - QBE 'like' clause with backslashes don't work with MySQL
+
+** Task
+ * [HHH-1839] - rename FlushMode.NEVER -> FlushMode.MANUAL
+
+
+Changes in version 3.2 cr2 (2006.05.05)
+-------------------------------------------
+
+** Bug
+ * [HHH-1114] - The first (HSQL) Hibernate Application doesn't work as expected due to lack of database shutdown
+ * [HHH-1175] - Exception when loading inheritance mapping in single file
+ * [HHH-1560] - PropertiesHelper.resolvePlaceHolders() fails with non-String values in System properties
+ * [HHH-1620] - Errors on max_lo <=1 boundaries
+ * [HHH-1625] - Hibernate.isPropertyInitialized() returns false on instrumented transient object
+ * [HHH-1648] - Exception while resuming a transaction is silently eaten
+ * [HHH-1674] - Configuration serialization error: filterDefinitions map not serializable
+ * [HHH-1695] - subsequent calls to non-existent proxy causes NPE
+
+** Improvement
+ * [HHH-1266] - StatelessSession can implement refresh
+ * [HHH-1414] - many-to-many and metadata order-by based on column from the target table
+ * [HHH-1477] - Improve naming strategy for ANN-195
+ * [HHH-1538] - aggregations functions in EJBQL queries does not return the appropriate types
+ * [HHH-1670] - Update EhCache and EhCache provider to support EhCache 1.2
+ * [HHH-1704] - Deduplicate unique constraints generation sharing the same column(s)
+
+** New Feature
+ * [HHH-870] - support SQL updates in named queries
+ * [HHH-1591] - Replace LazyInitializationException by EntityNotFoundException
+ * [HHH-1719] - Provide a ClassTransformer interface to the BytecodeProvider
+
+
+Changes in version 3.2 cr1 (2006.03.27)
+-------------------------------------------
+
+** Bug
+ * [HHH-1453] - Broken exception handling in NullableType
+
+** Improvement
+ * [HHH-227] - remove reflection optimizer
+ * [HHH-587] - Make ResultTransformer available for all query methods
+ * [HHH-1588] - delay inserts for insert-generated-identifiers outside transaction
+ * [HHH-1590] - redesign how PostInsertIdentifierGenerators are handled at insertion
+ * [HHH-1592] - allow SelectGenerator to use a defined natural-id (if one)
+
+** New Feature
+ * [HHH-332] - create ability to add resulttransformer to HQL query
+ * [HHH-1179] - support inline sequence id generation on Oracle using RETURNING clause
+
+
+Changes in version 3.2 alpha2 (2006.03.15)
+-------------------------------------------
+
+** Bug
+ * [HHH-535] - properties element causes exception in interface/abstract class
+ * [HHH-1325] - ArrayOutOfBounds expected in DatabaseMetadata.isTable when specifing schema
+ * [HHH-1435] - many-to-one lazy seems to be broken in 3.1.x
+ * [HHH-1531] - NPE with many-to-many and property-ref
+ * [HHH-1546] - generated version properties fail with multiple actions per flush
+
+** Improvement
+ * [HHH-1540] - Better Error Feedback In CollectionEntry.postFlush(PersistentCollection)
+ * [HHH-1555] - ConnectionReleaseMode.AFTER_STATEMENT and flushes
+ * [HHH-1559] - introduce TransactionFactory.isTransactionInProgress to facilitate EJB3 joinTransaction handling
+
+
+Changes in version 3.2 alpha1 (2006.02.28)
+-------------------------------------------
+
+** Bug
+ * [HHH-687] - Exception QuerySyntaxError not really serializable
+ * [HHH-1236] - Remove static reference to classloader, to avoid memory leak at webapp reload
+ * [HHH-1287] - Problem with WAS ExtendedJTATransaction not available when using MDB
+ * [HHH-1419] - Update + Exists doesn't seem to work
+ * [HHH-1445] - SchemaUpdate closes shared ConnectionProvider
+ * [HHH-1464] - QueryException from Query.getReturnAliases when query uses "fetch"
+ * [HHH-1486] - Concurrent access issues with both SoftLimitMRUCache and SimpleMRUCache
+ * [HHH-1508] - Session.createQuery() should not flush the session
+
+** Improvement
+ * [HHH-1411] - Collection fetches and DISTINCT
+ * [HHH-1412] - Collection fetches and firstResult/maxRows
+ * [HHH-1416] - LockMode.FORCE to implement EJB3 LockModeType.WRITE
+ * [HHH-1457] - support new optimisitc locking capabilities of JBossCache
+ * [HHH-1466] - better handling of Antlr exceptions
+ * [HHH-1516] - support DataDirect standard jdbc stored procedures
+ * [HHH-1518] - Guarentee LockMode behaviors
+ * [HHH-1520] - with clause with implied joins within an explicit join
+ * [HHH-1526] - Improved DTDEntityResolver
+
+** New Feature
+ * [HHH-1251] - Avoid replicating the clearing of TreeCache on SessionFactory..close()
+ * [HHH-1410] - FlushMode.AUTO -> COMMIT when outside a transaction
+ * [HHH-1447] - pluggable bytecode libraries
+
+
+Changes in version 3.1.2 (01.27.2006)
+-------------------------------------------
+
+** Bug
+ * [HHH-73] - Statistics for HQL queries use pre-processed query string
+ * [HHH-1306] - HQL parsing problem with join fetching of arrays/collections of values
+ * [HHH-1370] - Warning in hibernate-mapping-3.0.dtd
+ * [HHH-1371] - MappingException is thrown when the same column is referenced with different case
+ * [HHH-1386] - Numeric (long) literals not properly handled by HQL parser
+ * [HHH-1390] - Session.isOpen() throws exeception when the session is closed with ThreadLocalSessionContext
+ * [HHH-1391] - Invalid parameter index SQLException when using named parameters after positional parameters
+ * [HHH-1392] - Proxies cannot be serialized after session is closed
+ * [HHH-1398] - extends and entity-names broken with mapping-level package attribute
+ * [HHH-1407] - return-join broken for entity collections
+
+** Improvement
+ * [HHH-1364] - Defensive check of isClosed when obtaining a connection from ConnectionManager
+ * [HHH-1367] - warn level log "this operation breaks ==" may be disturbing
+
+** New Feature
+ * [HHH-1372] - Support for MySQL5 new varchar length
+
+** Patch
+ * [HHH-1005] - Criteria LEFT JOIN capability when adding Order to associations
+
+** Task
+ * [HHH-1373] - Document update versioned
+
+
+Changes in version 3.1.1 (01.13.2006)
+-------------------------------------------
+
+** Bug
+ * [HHH-853] - DML-style HQL queries and associations
+ * [HHH-1281] - FORWARD_ONLY ScrollableResults#next() throw GenericJDBCException
+ * [HHH-1286] - Set entity in HQL query without prefix -> incorrect SQL
+ * [HHH-1308] - Session.createFilter(...).iterate() results in bogus column names for result set extraction
+ * [HHH-1314] - float/double literals not sent to the database correctly
+ * [HHH-1316] - SchemaUpdate : java.sql.SQLException: You cannot commit during a managed transaction!
+ * [HHH-1328] - org.hibernate.util.SimpleMRUCache keeps a soft reference to the cache key, so cached values get collected prematurely
+ * [HHH-1336] - ForeignGenerator does not handle transient entities with an entity-name properly
+ * [HHH-1337] - Mapped <component> generated column names incorrect with ImprovedNamingStrategy
+ * [HHH-1349] - HQL delete statement problem due to oracle lacking table aliases in delete clause
+ * [HHH-1361] - creating temporary table for bulk delete will commit current transaction in managed environment such as J2EE
+
+** Improvement
+ * [HHH-1019] - Native SQL return-property mapping doesn't support dot-syntax in return-property for components
+ * [HHH-1290] - Defensive checking of session status
+ * [HHH-1302] - query.getReturnTypes inconsistent
+ * [HHH-1304] - better handling of borrowed connections in non-ON_CLOSE release semantics
+ * [HHH-1309] - schemaupdate does not handle TableHiLoGenerator
+ * [HHH-1339] - empty property name in mapping file gives imcomprehensible error message
+ * [HHH-1344] - ANSI-SQL trim function for SQLServer
+ * [HHH-1345] - ANSI-SQL mod function for SQLServer
+ * [HHH-1346] - ANSI-SQL bit_length function for SQLServer
+ * [HHH-1351] - <return-scalar name="blah"/> should be possible
+ * [HHH-1360] - set autodiscovery flag for SQLQueries when resultsetmappings are used
+
+
+Changes in version 3.1 (12.12.2005)
+-------------------------------------------
+
+** Bug
+ * [HHH-849] - Cartesian product + implicit joins
+ * [HHH-1065] - user provided connection not usable by default due to agressive release changes
+ * [HHH-1101] - associations join fetched in HQL without owner being selected
+ * [HHH-1133] - Comparators, defined for collections in mapping files, are not set
+ * [HHH-1149] - NPE flushing reattached entity w/ non-mutable natural-id
+ * [HHH-1170] - HQL 'cast' function doesn't work with MySQL 4 when casting to string
+ * [HHH-1187] - Cannot delete a object having a delete-orphan collection when user_rollback_id is set
+ * [HHH-1191] - HQL fails backward compatibility using classic translator
+ * [HHH-1194] - hql delete statements with joined-subclass hierarchies with a mapped where attribute at the root
+ * [HHH-1206] - Mappings.TableDescription is not serializable
+ * [HHH-1212] - mismatch in entity-modes defined in DTD and EntityMode class
+ * [HHH-1227] - ClassCastException on DOM4J replicate of Calendar property
+ * [HHH-1239] - BinaryArithmeticOperatorNode.getDataType() does not properly handle date/time arithmetic
+ * [HHH-1240] - Track connection leakage in JDBCContext.afterTransactionCompletion()
+ * [HHH-1245] - Calling the Session should register it with the current JTA txn.
+ * [HHH-1254] - Serialization of Sessions using JDBCTransactions with auto-flush/auto-close
+
+** New Feature
+ * [HHH-1222] - Autodiscover scalar types in native-sql
+ * [HHH-1243] - allow placeholders to system properties in config properties
+ * [HHH-1244] - Support for MySQL5 stored procedures
+ * [HHH-1260] - Configuration.mergeProperties()
+
+** Task
+ * [HHH-1066] - Upgrade CGLIB to fix proxy memory leak
+ * [HHH-1242] - upgrade ANTLR to 2.7.6rc1
+
+** Improvement
+ * [HHH-860] - insert ... select ... and version numbers
+ * [HHH-926] - TypeDef should be global
+ * [HHH-1138] - No ConstraintName when using PostgreSQL
+ * [HHH-1144] - Implement naming convention for temporary test failures
+ * [HHH-1153] - PropertiesHelper fails reading primitive values from hibernate-mapping when doc has whitespace
+ * [HHH-1182] - Access to filter metadata
+ * [HHH-1183] - Getting sql "plan" for DML operations
+ * [HHH-1197] - Support for HQL delete on MaxDB
+ * [HHH-1198] - post-insert event pass the entity wo the id field filled when the generator is identity
+ * [HHH-1213] - make JACC event listeners auto configurable (through initialize(Configuration))
+ * [HHH-1215] - Added support for LVARCHAR in InformixDialect
+ * [HHH-1218] - Add concat() function support to SAPDBDialect
+ * [HHH-1255] - ThreadLocalSessionContext and Session serialization
+
+** Patch
+ * [HHH-967] - executeUpdate on StatelessSession
+ * [HHH-1172] - Missing configuration templates for the new MimerSQLDialect
+
+** Deprecation
+ * [HHH-1229] - deprecate ability for entities to not define identifier properties
+
+
+Changes in version 3.1 rc3 (17.11.2005)
+-------------------------------------------
+
+** Bug
+ * [HHH-755] - Setter / Getter for property gDate are wrong
+ * [HHH-764] - XML mapping
+ * [HHH-1034] - The connection is closed *outside* the JTA transaction in TransactionHelper
+ * [HHH-1062] - java:comp/UserTransaction not correct for JBoss
+ * [HHH-1064] - Exception using JTATransaction in WebSphere 6
+ * [HHH-1069] - Unnecessary commas generated in select with left outer joins
+ * [HHH-1075] - New parser "not exists" command bug
+ * [HHH-1077] - Typo in docs: "equiped"
+ * [HHH-1080] - HQL delete fails on entities with where-fragments using operators other than '='
+ * [HHH-1081] - missing parens in example code for Criteria Associations
+ * [HHH-1084] - incorrect method name "sql" in Restrictions example, should be "sqlRestriction"
+ * [HHH-1091] - Can't write transparent CurrentSessionContext for BMT
+ * [HHH-1098] - Patch for build.sh to be able to build latest version on linux
+ * [HHH-1106] - HQL "not in" generatad wrong SQL
+ * [HHH-1111] - JDBCTransaction.rollback() results in a call to Interceptor.beforeTransactionCompletion()
+ * [HHH-1128] - Column alias clashes under certain circumstances
+ * [HHH-1146] - latest cvs(11/10/05) hibernate3 issue with classic query
+ * [HHH-1156] - StatefulPersistenceContext not serializable when property-ref is used
+ * [HHH-1160] - Incorrect use of getGeneratedKey() for Oracle
+
+** New Feature
+ * [HHH-449] - korean hibernate reference manual
+ * [HHH-1129] - use expected-type in 'untyped' Query.setParameter()
+
+** Improvement
+ * [HHH-221] - Proxy for one-to-one with property-ref
+ * [HHH-844] - move parameter "bookkeeping" into QueryTranslator
+ * [HHH-1051] - "Compiled" native SQL queries are not cached
+ * [HHH-1061] - import.sql should allow more human readable and usable files
+ * [HHH-1078] - <dynamic-component> requires type on property
+ * [HHH-1120] - Make NamingStrategy to work nicely with HA and EJB3 naming strategy
+ * [HHH-1142] - added getSelectSequenceNextValString() and getCurrentTimestampSelectString() to TimesTenDialect
+
+** Patch
+ * [HHH-1063] - support for 'locate' function in SQLServer and Sybase dialects
+ * [HHH-1090] - Allow subqueries on criteria to obtain non-string results
+ * [HHH-1095] - Hibernate takes incorrect HasCode when a lot of CompositeKeys and Lazy loading is involved
+ * [HHH-1103] - finalize method filter for proxies
+ * [HHH-1136] - more meaningful AssertionFailure message in org.hibernate.persister.entity.JoinedSubclassEntityPersister.getTableId(...)
+
+
+Changes in version 3.1 rc2 (17.10.2005)
+-------------------------------------------
+** Bug
+ * [HHH-1045] - Example contains inner classes that aren't serializable
+ * [HHH-1055] - optimistic-lock is not inherited from class to subclass et.al.
+
+** Improvement
+ * [HHH-702] - auto detect aliasing for collection properties (coll.key, coll.id etc.)
+ * [HHH-1038] - make 'auto' the default for hibernate.connection.release_mode
+ * [HHH-1042] - determine "expected type" of parameters during HQL parsing
+
+
+Changes in version 3.1 rc1 (07.10.2005)
+-------------------------------------------
+** Bug
+ * [HHH-528] - component.manyToOne.id in HQL causes join
+ * [HHH-871] - Configuration.setListener(String type, Object listener) throws ClassCastException
+ * [HHH-873] - referencing raw HQL FromElement alias outide the from clause of update and delete statements generates incorrect sql
+ * [HHH-876] - PreparedStatement being closed before being executed by AbstractBatcher
+ * [HHH-884] - SchemaExport does not propagate parent indexes to <union-subclass> tables
+ * [HHH-887] - Aggressive release and Session.connection()
+ * [HHH-893] - custom tuplizer are not instantiated for components
+ * [HHH-905] - $PlaceHolder$ remains in generated SQL when filter is enabled
+ * [HHH-907] - optimistic-lock="false" for timestamped object results in SQLException: Invalid column index
+ * [HHH-908] - CLONE -NullPointerException when using BigInteger in a query
+ * [HHH-911] - CGLIBLazyInitializer and Exceptions
+ * [HHH-913] - NPE in CMTTransaction since javax.transaction.Transaction is never set
+ * [HHH-918] - impossible to move objects to another session
+ * [HHH-924] - Useless OracleErrorCodeConverter (and possibly others)
+ * [HHH-932] - HQL UPDATE and <union-subclass>
+ * [HHH-946] - QuerySyntaxException might not be serializable
+ * [HHH-964] - ORA-00936 with joined subclass / Oracle
+ * [HHH-986] - Need to check Thread.currentThread().getContextClassLoader() in ConfigHelper
+ * [HHH-991] - Cannot use comparator class
+ * [HHH-1000] - varchar(xxx char) not supported on Oracle8i
+
+** New Feature
+ * [HHH-950] - interface for SessionFactory.getCurrentSession() handling
+
+
+** Improvement
+ * [HHH-608] - update HSQLDialect for HSQL 1.8 sequence support
+ * [HHH-889] - Add read-only cache-mode comment in <query and <sql-query
+ * [HHH-898] - OracleDialect UTF8 varchar2
+ * [HHH-909] - Onquoted primary key in IncrementGenerator
+ * [HHH-988] - generated="never|insert|always"
+ * [HHH-989] - add discussion of implicit and explcit joins
+ * [HHH-1011] - Make disconnect/reconnect of a Session implicit
+
+** Patch
+ * [HHH-994] - Sybase/SQLServer support for temporary tables
+
+
+Changes in version 3.1 beta 3 (13.09.2005)
+-------------------------------------------
+** Bug
+ * [HHH-528] - component.manyToOne.id in HQL causes join
+ * [HHH-871] - Configuration.setListener(String type, Object listener) throws ClassCastException
+ * [HHH-873] - referencing raw HQL FromElement alias of update and delete statements
+ * [HHH-876] - PreparedStatement being closed before being executed by AbstractBatcher
+ * [HHH-884] - SchemaExport does not propagate parent indexes to <union-subclass> tables
+ * [HHH-887] - Aggressive release and Session.connection()
+ * [HHH-893] - custom tuplizer are not instantiated for components
+ * [HHH-905] - $PlaceHolder$ remains in generated SQL when filter is enabled
+ * [HHH-907] - optimistic-lock="false" for timestamped object results in SQLException: Invalid column index
+ * [HHH-908] - NullPointerException when using BigInteger in a query
+ * [HHH-911] - CGLIBLazyInitializer and Exceptions
+ * [HHH-913] - NPE in CMTTransaction since javax.transaction.Transaction is never set
+ * [HHH-918] - impossible to move objects to another session
+ * [HHH-924] - Removed ErrorCodeConverters
+ * [HHH-946] - QuerySyntaxException might not be serializable
+
+** Improvement
+ * [HHH-898] - OracleDialect UTF8 varchar2
+ * [HHH-909] - Unquoted primary key in IncrementGenerator
+
+
+Changes in version 3.1 beta 2 (16.08.2005)
+-------------------------------------------
+** Bug
+ * [HHH-477] - Boolean discriminators generate invalid SQL for PostgreSQL dialect
+ * [HHH-480] - SchemaExportTask ignores some properties not defined in hibernate.properties
+ * [HHH-615] - SchemaExport outputFile ignores ant's basedir
+ * [HHH-770] - hql query execution generates invalid SQL
+ * [HHH-779] - Assertion failure occured with Hibernate 3 saving objects
+ * [HHH-781] - SimpleExpression ignorecase regression
+ * [HHH-799] - merge() and embedded composite identifiers
+ * [HHH-801] - subselect fetch and named parameters
+ * [HHH-802] - querying "mapped" composite identifiers
+ * [HHH-803] - no version increment from delayed collection adds
+ * [HHH-805] - Session.getStatistics().getEntityCount() throws UnsupportedOperationException
+ * [HHH-819] - Firebird CONCAT SQL function
+ * [HHH-821] - query by natural-id cache is not update when object is inserted or deleted
+ * [HHH-822] - <key-property> will actually pick up <type> tags if it were allowed by the DTD
+ * [HHH-825] - ReadWrite-Cache issues NullPointerException after modification of an array
+ * [HHH-839] - Session.refresh not working for custom 'Load' SQL
+ * [HHH-849] - Cartesian product + implicit joins
+ * [HHH-854] - Class with mapped composite id can't have subclasses
+ * [HHH-858] - Autocommit status inconsistent in connections created by DriverManagerConnectionProvider
+ * [HHH-863] - Hibernate generates "notExists" instead of "not exists"
+ * [HHH-868] - Missing parens after / or -
+
+** New Feature
+ * [HHH-35] - add attribute haltonerror to schemaexport Ant task
+ * [HHH-182] - Mimer SQL Dialect for Hibernate 3
+ * [HHH-704] - Statistics for optimistic lock failures
+ * [HHH-725] - Allow hooks into all executed sql by a session
+ * [HHH-783] - collection lazy="extra"
+ * [HHH-818] - Optimisitc locking using database current timestamp
+ * [HHH-828] - session.getTransaction()
+ * [HHH-829] - <cache include="all|non-lazy" ... />
+ * [HHH-831] - allow database generated property values
+ * [HHH-832] - allow database generated property values for versioning
+ * [HHH-838] - Transaction.setTimeout()
+ * [HHH-840] - allow definition of "auxiliary" database objects in mapping
+ * [HHH-846] - Add Intializable interface for events
+ * [HHH-848] - Validate mappings against JDBC metadata
+ * [HHH-859] - post-commit events
+
+** Improvement
+ * [HHH-133] - schemaexport task: provide independent drop/create output
+ * [HHH-135] - parameterized types can't be used on key-property or ir (possible others)
+ * [HHH-552] - NoopAccessor for HQL-only properties
+ * [HHH-680] - Easier support for doing UserCollectionType's
+ * [HHH-686] - Final classes and classes with private null ctors cause unhelpful NullPointerException
+ * [HHH-754] - Allow HQL DML for implicit polymorphism
+ * [HHH-782] - Avoid unnecessary updates when component property is update='false' but modified
+ * [HHH-786] - Improve lazy options for <one-to-one>
+ * [HHH-791] - Use cascade styles when fetching entities in refresh() and merge()
+ * [HHH-815] - Confusing use of the term "dereference"
+ * [HHH-830] - Improvements to caching lazy properties
+
+** Patch
+ * [HHH-378] - Better LockMode.UPGRADE for DB2 UDB v8.2
+ * [HHH-430] - Improved SizeExpression with greater, lesser, not equals, etc. capabilities
+ * [HHH-735] - SchemaUpdate reads table metadata from wrong schema
+ * [HHH-780] - org.hibernate.proxy.BasicLazyInitializer reflection hotspot
+ * [HHH-864] - Use QUERY_CACHE for sessions with filters to improve performance
+
+
+Changes in version 3.1 beta 1 (21.07.2005)
+-------------------------------------------
+
+** Bug
+ * [HHH-145] - union-subclass and oracle 8i
+ * [HHH-374] - EJB3 example delete query doesn't work in Hibernate.
+ * [HHH-447] - EHCache integration prevents multiple session factories
+ * [HHH-488] - JACCListeners are not working at all
+ * [HHH-564] - missing commas for implicit joins
+ * [HHH-577] - joins within subqueries on dbs supporting ansi-joins result in extraneous commas
+ * [HHH-592] - cast() function doesn't know its returned Hibernate type
+ * [HHH-639] - CGLIB instrumentation of subclasses
+ * [HHH-658] - Bug in Alias Name Generation
+ * [HHH-671] - Firebird support of sequences/generators
+ * [HHH-679] - setLockMode(LockMode.UPGRADE_NOWAIT) does not translate to correct SQL on Oracle
+ * [HHH-688] - Bad implementation in org.hibernate.type.CustomType.stringToObject
+ * [HHH-691] - generated column alias is incorrect if there is a prior relationship and the table column names are similar to the table name
+ * [HHH-694] - NPE when accessing the SLCache stats with TreeCache
+ * [HHH-698] - Exception on EG , trying to change immutable id (natural-id)
+ * [HHH-699] - Incorrect Tablename genetaion when using MySQL Dialect and no Schema definition
+ * [HHH-708] - Restrictions.in could not be used properly on composite-ids
+ * [HHH-709] - ArrayType.replaceElements fails if original.length != target.length
+ * [HHH-718] - HQL "fetch all properties" not working for column level lazy props
+ * [HHH-726] - ConstraintViolationException with primitive collection
+ * [HHH-727] - java.lang.StackOverflowError when cascade="true" on both sides of bidirectional one-to-one association using FK
+ * [HHH-734] - HQL incorrectly parses certain query strings
+ * [HHH-736] - Use of sql functions containing space not supported in filter conditions
+ * [HHH-738] - formula property with select-before-update
+ * [HHH-747] - Order.toSQLString generates incorrect statement
+ * [HHH-748] - component dereferencing in subquery from clauses
+ * [HHH-752] - Typo in 8.5.3 bidirectional one-to-one jjoin table example
+ * [HHH-757] - NullPointerException when using BigInteger in a query
+
+** New Feature
+ * [HHH-595] - HQL insert select
+ * [HHH-597] - Named XML resultsetmappings
+ * [HHH-696] - handle discriminators on HQL insert
+ * [HHH-697] - allow bumping versions in HQL update
+ * [HHH-716] - handle version columns in bulk inserts
+ * [HHH-723] - Need to be able to pass in javax.sql.DataSource in SF creation
+ * [HHH-739] - Order.ignoreCase()
+ * [HHH-741] - select clause subselects
+ * [HHH-742] - Stateless session
+ * [HHH-744] - collection fetching in scroll() via "break processing"
+ * [HHH-768] - <many-to-many property-ref=".."/>
+
+** Improvement
+ * [HHH-14] - Add Session.delete(String entityName, Object entity)
+ * [HHH-295] - cleanup and expose the Tuplizers
+ * [HHH-352] - HQL bulk and cache
+ * [HHH-689] - exclude parens for components outside where-clause
+ * [HHH-743] - {coll.key}, {coll.index}, {coll.element}, etc
+ * [HHH-745] - EJB3 composite PK style
+ * [HHH-749] - Cascade merge() and unidirectional one-to-many
+ * [HHH-750] - use attribute name other than 'type' in dynamic-maps
+ * [HHH-753] - Replace antlr System.exit with QueryException
+ * [HHH-769] - property-ref="foo.bar" to a component property
+ * [HHH-772] - null in maps are handled inconsistently
+ * [TODO-18] - optimistic-lock="all|dirty" with components
+
+
+Changes in version 3.1 alpha 1 (24.06.2005)
+------------------------------------
+** Bug
+ * [HHH-204] - Wrong/uncommon log name in class ...hql ast ErrorCounter
+ * [HHH-241] - HQL lexer doesn't support unicode quoted strings
+ * [HHH-354] - property named "full" breaks HQL queries
+ * [HHH-493] - WARNING: Keyword 'member' is being intepreted as an ident
+ * [HHH-538] - length() function does not work in SQLServerDialect
+ * [HHH-539] - ClassCastException on mapping a property with a formula in a set of composite elements
+ * [HHH-540] - Mapping a one-to-many collection with a non-null foreign key within a component fails on save
+ * [HHH-547] - Cannot commit using UserCollectionType and debug logging
+ * [HHH-548] - many-to-many faulty delete optimization when filter in use
+ * [HHH-554] - Hibernate 3 HQL to SQL FROM Clause Comma Generation Problem
+ * [HHH-558] - HQL doesn't support multi-byte character in class name and property names
+ * [HHH-559] - quoted multi-byte character in HQL is translated into weird character in SQL.
+ * [HHH-565] - delete-orphan generating AssertionFailure
+ * [HHH-566] - The result is not correct in 'createQuery("select new Foor(x,x) from Foo").scroll()'
+ * [HHH-570] - size operator fails on a many to many in HQL
+ * [HHH-571] - JDK 1.3 Compatibility Issue
+ * [HHH-573] - error when merging entity graph has cascade level>2
+ * [HHH-575] - org.hibernate.cache.FilterKey is not Serializable
+ * [HHH-589] - parameterized expression inside function
+ * [HHH-594] - order-by mapping for collections overrides order by in HQL
+ * [HHH-601] - New temporary table feature assumes all persisters are ready
+ * [HHH-614] - SchemaUpdate broken in DB2/400
+ * [HHH-622] - Spelling mistake 'intepreted' in org.hibernate.hql.PARSER warning
+ * [HHH-642] - criterias with projection
+ * [HHH-650] - FilterImpl is Serializable yet FilterDefinition is not
+ * [HHH-657] - Date parse exception using EntityMode.DOM4J
+ * [HHH-666] - JTAHelper.isInProgress( txn.getStatus()) throws NPE when txn null
+
+** New Feature
+ * [HHH-620] - Extra join conditions in HQL
+ * [HHH-640] - short-circuit dirty checking for instrumented classes
+ * [HHH-643] - support mutable="false" for collections
+ * [HHH-645] - Session.setReadOnly()
+ * [HHH-549] - portable to_char() function
+ * [HHH-576] - Hook to pre-process generated select strings in the Dialect
+ * [HHH-662] - Add support for definition of functional composite key ("properties") in joined subclass
+
+** Improvement
+ * [HHH-46] - Allow access to properties that are not joined
+ * [HHH-261] - Stored procedure support for SQLServer dialects
+ * [HHH-351] - multi-table bulk operations
+ * [HHH-574] - improve in naming named-query
+ * [HHH-596] - Auto-detect {..} in native SQL queries
+ * [HHH-641] - create constraints for many-to-one property-ref
+ * [HHH-501] - warn when a final method is tried to be proxied
+ * [HHH-525] - cglib related startup performance
+ * [HHH-557] - Helpful error message for non Serializable classes with a composite-id
+ * [HHH-586] - check immutable natural-ids
+ * [HHH-609] - Adds substr to PostgreSQL dialect
+ * [HHH-618] - documentation bugs
+
+** Patch
+ * [HHH-224] - JDataStore Dialect and updated Testfiles
+ * [HHH-366] - InformixDialect SQLExceptionConverter
+ * [HHH-536] - ImprovedNamingStrategy modifies capitalized column names inappropriately
+ * [HHH-632] - Informix Dialect missing from automatic dialect discovery
+ * [HHH-4] - CachedFile bugfix + configuration + autodetect resource as file
+
+
+Changes in version 3.0.5 (25.5.2005)
+------------------------------------
+
+** Bug
+ * [HHH-516] - Interceptor.onFlushDirty() sometimes not called
+ * [HHH-517] - getDatabaseMajorVersion() not available in JDK 1.3
+ * [HHH-518] - SQL parser does not recognize all whitespace
+ * [HHH-519] - broken SQL when traversing many-to-many to joined <subselect>
+ * [HHH-529] - Bug in merge()
+
+** New Feature
+ * added <natural-id> mapping
+ * [HHH-533] - allow unique-key on <property> and <many-to-one>
+ * [HHH-534] - efficient cache by natural key
+ * support for <comment> on MySQL
+
+** Improvement
+ * [HHH-526] - log "Aggressively releasing JDBC Connection" as DEBUG instead of INFO
+ * various logging improvements
+
+
+Changes in version 3.0.4 (23.5.2005)
+------------------------------------
+
+** Bug
+ * [HHH-452] - UnsavedValueFactory.instantiate does not wrap the Exception it catches
+ * [HHH-456] - Session still holds references to entities after close()
+ * [HHH-457] - Log info for structured second-level cache entries is incorrect
+ * [HHH-466] - Made default for MS SQL dialect definition more flexible
+ * [HHH-473] - Formula can't contain SQL cast keyword
+ * [HHH-484] - Order-by not applied to collections fetched by OuterJoinLoader
+ * [HHH-487] - Possible empty union in UnionSubclassEntityPersister
+ * [HHH-505] - Possible NullPointerException in BigIntegerType
+ * [HHH-507] - Cached List does not show additions
+ * Fixed bugs in subselect fetching
+
+** New Feature
+ * [HHH-455] - Obtain non-intercepted Session by passing an EmptyInterceptor
+ * [HHH-467] - HQL: support for case when then else end IN select clause
+ * [HHH-485] - Support multiple collection join fetches (attention: Cartesian product) in native SQL queries
+ * Added SessionStatistics metric interface
+ * Added support for table and column level <comment> blocks
+ * Added Simplified Chinese translation of reference documentation (Xiaogang Cao)
+
+** Improvement
+ * Any query may now join fetch >1 collection role (attention: Cartesian product)
+ * [HHH-454] - Add 2292 integrityViolationCode to Oracle9Dialect
+ * [HHH-503] - Implemented ViolatedConstraintNameExtracter for HSQLDialect (Frank Grimes)
+
+
+Changes in version 3.0.3 (8.5.2005)
+-----------------------------------
+* fixed bug in HQL for composite key classes which have a property named the same as the owning entity's id property
+* replaced 'connection.aggressive_release' with 'hibernate.connection.release_mode'
+* added ConnectionReleaseMode
+* added eager fetch for any associations with fetch=join, even after a HQL query, or cache retrieval (EJB3)
+* added replicate() isUpdate flag to OnReplicateVisitor, useful for native ids
+* fixed ParameterizedTypes order of initialization
+* fixed bug in DB2Dialect
+* fixed EntityMode.DOM4J creation of duplicate <set> output
+* fixed JDBCException error code handling
+* fixed Criteria Restrictions.isEmpty()/isNotEmpty() when collection is mapped to superclass
+* fixed HQL indexed collections access with no alias
+* fixed HQL aggregate functions on components when "id" property is used
+* fixed issue with non-cascading refresh to collections
+* fixed query-timeout not being applied to bulk HQL (Stephan Fudeus)
+* fixed pessimistic locking with Firebird (Yuichi Sugimura)
+* updated Ant 1.6.3
+* improved validation of sql queries, throw QueryException if addEntity() nor addScalar() was called
+* added automatic dialect detection if no dialect is configured
+* added new tutorial (Michael Gloegl, Christian Bauer)
+
+
+Changes in version 3.0.2 (27.4.2005)
+------------------------------------
+* fixed union operations on PostgreSQL
+* fixed HQL concat() function for Oracle dialect
+* fixed auto-close/auto-flush during getCurrentSession() processing
+* fixed ClassCastException with EntityMode.DOM4J
+* fixed HQL dynamic instantiation with iterate()
+* fixed HQL bug with missing parantheses and implicit joins
+* fixed bug were Interceptor.getEntity() wasn't called if in cache
+* fixed bug in merge() of sorted sets
+* fixed bug in EntityMode.DOM4J with non-lazy embedded many-to-ones
+* fixed Criteria/Projection ordering bug
+* fixed HQL referencing component attribute
+* fixed column duplication detection for components
+* fixed eager fetching for many-to-many associations
+* fixed stack overflow with auto_close_session and aggressive_release and unclosed ScrollableResults/HibernateIterator
+* fixed bug in HQL parser regarding naked property refs which reference component properties
+* fixed bug with eager fetched arrays not being loaded
+* fixed bug in filter against joined-subclass
+* improved CacheMode.GET/IGNORE, disabled cache put
+* improved HQL support for standard SQL functions, including coalesce() and nullif()
+* improved filtering of many-to-many associations
+* added HQL support for cast(x as type) if SQL database supports it
+* added increment id generation for union-subclass
+* added ConnectionProvider.supportsAggressiveRelease() for managed environments
+* added support for caching of queries if filter is enabled
+* added PreparedStatement count to Statistics
+* added transactional/nontransactional read()/get() to Cache API
+* added quotation of schema names
+* added Distinct to Projection API
+* added config parameter 'connection.aggressive_release'
+
+Changes in version 3.0.1 (18.4.2005)
+------------------------------------
+* added HQL tuple constructor/comparison feature
+* added HQL "fetch all properties" override if instrumentation is used for lazy loading
+* added HQL projection feature, return Lists instead of arrays for projection
+* added HQL projection feature, return Maps with user-defined HQL SELECT aliases as keys
+* added HQL support for expressions in aggregation functions
+* added new IntegrityViolationException to MySQL dialect
+* added value mapping type 'big_integer'
+* added not-found="ignore|exception" switch for legacy associations (i.e. broken database integrity)
+* added fully automatic Session scoping in JTA environments with sf.getCurrentSession()
+* fixed bug in DTD that wouldn't allow union-subclass in separate file
+* fixed a MS SQL Server case sensitivity issue with native SQL queries
+* fixed a minor bug in subselect fetching
+* fixed case sensitivity in HQL functions
+* fixed a bug with listener assignment for save() operation (Matthew Inger)
+* fixed return-property in named SQL queries to work with all identifier names
+* fixed TransactionManager lookup (again) for WAS 6.0
+* fixed a bug with HQL batch delete and MS SQL Server
+* fixed session not getting closed with auto_close when rollback occured
+* improved concatentation handling in AST parser
+* updated dom4j to avoid memory leak in old version
+* updated C3P0
+
+
+Changes in version 3.0 (31.3.2005)
+----------------------------------
+* added support for autoflush/autoclose to HibernateServiceMBean
+* fixed initialization/session association detection problem of collections
+* fixed creation of FK constraints to union superclass table
+* fixed bug where union-subclass table did not get a PK constraint
+* added a separate log category for HQL parser warnings and errors
+* fixed bulk delete operation on MS SQL Server
+* added support for proxying protected methods (Juozas)
+* added support for unicode quoted strings in new HQL parser
+* fixed implied joins in subselect WHERE clause in new HQL parser
+* added SQLServer7Dialect to handle differences in functions
+* added support for JNDI-bound cache instances, future use for JBoss Cache
+* added scale attribute to column mappings for numeric precision control
+* added fetch=subselect for collections
+* added support for bulk update/delete against discriminator-based inheritence hierarchies
+* added the ability to use naked property refs in HQL (required in update/delete statements)
+* updated CGLIB 2.1.0
+* fixed NPE at BasicEntityPersister.getPropertyIndex (Todd Nine)
+* fixed issue with entity-name and subclasses (Sverker Abrahamsson)
+* fixed issue with correlated subqueries in new HQL parser
+* fixed a problem with native SQL query mapping and embedded composite identifiers
+* improved mapping binding, allowing unordered extends for pure entity-name hiearchies
+* fixed NPE for delete() with deprecated Lifecycle interface
+* fixed a problem with serial joins ending in component value in new HQL parser
+* fixed inner join/subselect precedence problem in new HQL parser
+* fixed indices() function in new HQL parser
+* fixed a bug in InformixDialect, now correct LIMIT clause
+* fixed a bug in idbag.remove() (Sebastien Cesbron)
+* fixed a conflict on OracleDialect between setMaxResult and LockMode.UPGRADE
+* fixed XML configuration file issue with SchemaExport
+* fixed an ArrayIndexOutOfBounds problem
+* renamed executeUpate() to executeUpdate()
+* fixed batch loading for property-ref entities
+* fixed loading from cache of <key property-ref> collection owner
+* fixed minor bug in SQL exception reporting
+* fixed dynamic-component cannot be bound to XML
+* fixed querying component with formula property
+* fixed incorrect table alias for order-by on many-to-many
+* fixed a bug for unidirectional one-to-many with moving child objects
+* fixed a bug with union-subclasses and persister creation
+* fixed a HQL concatenation problem on MySQL
+* fixed a bug where an unnecessary exception was thrown for a property-ref to a superclass property
+* fixed minor dtd bug
+* fixed new bug in Clob/Blob support
+* fixed issue with INDEX_OP and subclass joins on theta-join dialects
+* fixed some minor issues in query cache regions, including HB-1449
+* fixed superflous import and regression bug in verifyparameters
+* fixed two bugs in select id generator (Malcolm Green)
+* fixed increment generator for union-subclass mappings
+* updated JBoss Cache to 1.2.1alpha, fixing locking issues
+* made stat classes serializable
+* fixed merge(), now ignores blob and clob fields
+* added support/dialect for TimesTen
+* improved algorithm for batch fetching, more aggressive
+* improved toStrings()s for Statistics objects (Ryan Lynch)
+* renamed <result-*> to <return-*> for externalized SQL query mapping
+* renamed Session.openSession() for EntityMode to Session.getSession()
+* added support for CASE in HQL
+* fixed bug with filters and polymorphic queries
+* fixed import ordering problem of super/subclass mappings
+* switched to patched ANTLR 2.7.5, now using context classloader before doing class.forname
+* TableHiloGenerator now falls back to TableGenerator properly with max_lo < 2 (Emmanuel Bernard)
+* better transaction handling of TableGenerator in a JTA environment (Emmanuel Bernard)
+* removed hard coded log4j dependency (Emmanuel Bernard)
+* added support for stored procedure in named queries (Max Andersen)
+* added <property-result> to named SQL queries to allow users to use sql without {}-markup
+* added multi-column property support to native SQL mapping
+
+Changes in version 3.0rc1 (28.2.2005)
+----------------------------------
+* introduced EntityModes, and XML mapping preview
+* several minor dialect improvements
+* fixed a problem where filters were not applied to subclasses
+* fixed a problem where InstrumentTask would fail if applied to already-instrumented classes
+* fixed many problems with new parser and made it the default (thanks again to Joshua for the new parser)
+* implemented bulk update/delete queries for the new parser
+* fixed a minor bug in the classic query parser
+* renamed create() to persist() as per EJB3edr2
+
+Changes in version 3.0 beta 4 (11.2.2005)
+-----------------------------------------
+* support unidirection one-to-many with a not-null foreign key
+* support formulas for index and element of collections
+* support one-to-ones mapped to formulas
+* fixed a bug in proxying methods that return "this"
+* optimized proxies for embededded composite id classes
+* fixed a bug affecting <key-many-to-one>
+* fixed a bug caching newly inserted objects
+* introduced DetachedCriteria
+* support subselects in Criteria queries
+* miscellaneous Criteria API enhancements
+* fixed a problem where hibernate.max_fetch_depth applied to eager fetching via setFetchMode()
+* use inner joins for join fetching not-null fk associations
+* support unique="true" in <component> and <properties> mappings
+* union-subclass hierarchies may own collections (dtd bug)
+* added guid support for Oracle
+* new mechanism for auto-detecting unsaved-value
+* pass state array in delete events
+* improved implementation of hibernate.auto_close_session and hibernate.close_before_completion
+* fixed a bug where components with only collections would be incorrectly nullified
+* fixed a bug where criteria queries with projection could not be cached
+* fixed a problem where duplicate column name aliases could be generated
+
+Changes in version 3.0 beta 3 (30.1.2005)
+------------------------------------------
+* Major rework of Criteria queries, support for projection, grouping, aggregation, ordering by any attribute
+* various improvements to new HQL parser (Joshua Davis)
+* fixed a bug where <join fetch="select"> was broken for subclasses with duplicated property names
+* fixed problems with long types in Oracle DDL generation
+* added EnhancedUserType, UserCollectionType, UserVersionType
+* added CacheMode
+* fixed minor performance problem where cascade delete could add objects to second-level cache
+* added hibernate.default_batch_fetch_size
+* added hibernate.cache.use_structured_entries
+* different classes and collection roles may now share a cache region
+* don't include discriminators for abstract classes in generated SQL
+* it is no longer truly necessary for composite identifier classes to implement equals()/hashCode() (but still recommended)
+* workaround for bug in MySQL InnoDB with self-referential foreign keys
+* added lazy="true" to many-to-one and one-to-one mappings (requires bytecode instrumentation)
+
+Changes in version 3.0 beta 2 (24.1.2005)
+------------------------------------------
+* added LockAcquisitionErrorCodes to MySQL dialect (Jesse Barnum, Emmanuel Bernard)
+* added MultipleHiLoPerTableGenerator, one hi value per row/per table (compliant with EJB3)
+* added a generator handling multiple hi values per table (Emmanuel Bernard)
+* added events for pre/post SQL operation interception
+* added experimental support for JACC-aware configuration and events
+* added full support for implicit polymorphism in Criteria queries
+* added support annotated classes through XML configuration (Emmanuel Bernard)
+* added support for WebSphere's weird TxManagerLookup
+* added support for filters with dynamic-class mappings
+* added support for lists of parameters in filters
+* added support for scalar queries in createSQLQuery (Michael Gloegl)
+* added support for scalar results in native SQL queries (Michael Gloegl)
+* fixed SchemaExport/SchemaUpdate, now respect default_schema and default_catalog (Michael Gloegl)
+* fixed a bug in one-to-one mapping with property-ref
+* fixed a bug in the query cache lookup routine
+* fixed compilation problems on IBM JDK 1.4. and JDK 1.3.1
+* fixed custom SQL for loading when using composite identifiers
+* fixed exception thrown from optimistic locking failures
+* fixed support for limit queries (select first ?) in Informix
+* improved SchemaExport/Update, now respect default_schema and default_catalog
+* improved dialect handling, throw an exception if no dialect has been set
+* improved loading of mappings, no ordering of super/subclasses required anymore
+* improved statistics for second-level cache
+* improved table generators for hi/lo, can now be used in a JTA environment (Emmanuel Bernard)
+* query engine: added support for 'trim([leading | trailing | both] [expression from] expression)'
+* query engine: added support for DISTINCT and ALL
+* query engine: added support for FETCH
+* query engine: added support for HAVING count()
+* query engine: added support for HQL NOT IN and EJBQL '[NOT] MEMBER OF'
+* query engine: added support for ORDER BY COUNT(*)
+* query engine: added support for collections of scalar values
+* query engine: added support for literals in constructor select expressions.
+* query engine: added support for select elements(..) from Foo f
+* query engine: added support for template functions in the SELECT clause
+* query engine: fixed NOT LIKE
+* query engine: introduced EMPTY and added it to constant (support for IS [NOT] EMPTY)
+* updated dom4j, OSCache, EHCache, JBoss Cache, Xerces, Xalan, and Log4j
+* associated class where filter now applies to <one-to-one property-ref>
+
+Changes in version 3.0 beta 1 (21.12.2004)
+------------------------------------------
+* reimplemented HQL using an ANTLR-based AST parser (Joshua Davis)
+* added class="select" id generator
+* added Query.setReadOnly()
+* added hibernate.order_updates
+* introduced cascade refresh
+* added typed JDBC exceptions (Steve Ebersole)
+* improved lifecycle for CacheProviders (Steve Ebersole)
+* added Expression.isEmpty()
+* fixed some minor mapping DTD bugs (Ben Sommerville)
+* fixed auto-commit mode for SchemaUpdate
+* added default-lazy to <hibernate-mapping>, which defaults to true!
+* added fetch="join|select" and deprecated outer-join attribute
+* fixed a bug where <custom-insert> was not used for entities with "identity" id generation
+* fixed some problems with dynamic-class
+* added property-level optimistic-lock attribute, to allow an unchecked property
+* cascade lock() now cascades with LockMode.NONE
+* fixed some bugs in filter handling (Steve Ebersole)
+* added hibernate.transaction.flush_before_completion and hibernate.transaction.auto_flush_session
+* added JSR-220 compliant create() and merge() operations
+* cascade attribute is now multi-valued, with values save-update,create,merge,delete,delete-orphan,lock,evict,replicate,all-delete-orphan
+* index and unique-key attributes may now be multi-valued
+* introduced unsaved-value="undefined", the default for "assigned" ids and <composite-id>, which forces Hibernate to hit the db
+* primitive typed <id> property mappings now default to unsaved-value="0"
+* added ScrollMode
+* added dialect for Derby (Simon Johnston)
+* added MySQLMyISAMDialect and MySQLInnoDBDialect
+* added precision and scale mapping attributes, for numeric types in DDL
+* fixed a problem with duplicate column mappings on Sybase
+* read-write cache now uses version numbers to ensure consistency with database, if available
+* native SQL queries may now fetch a collection role (Steve Ebersole)
+* added sequential-select, optional and inverse attributes to <join/>
+* added <properties> element, which can be the target of a property-ref
+* fixed a bug relating to composite property-refs
+* Hibernate now much more robust if user does not implement equals()/hashCode() on id and unique key classes
+* enabled batch deletes for versioned data
+* fixed a minor bug in Session.close()
+* removed uuid.string and renamed uuid.hex to plain uuid
+* workaround for a MySQL bug in SchemaUpdate
+* added JDBCException.getSQL() and made various improvements to exception flow
+* createSQLQuery() now fully supports components
+* fixed a bug in SQL generation for <joined-subclass> mappings
+* fixed a bug where filter and query parameters could be bound in the wrong order (Steve Ebersole)
+* fixed a problem where quantifiers could not appear in SQL fragments
+* fixed a bug with dynamic components
+* fixed a bug where Dialect default properties overrode user-specified properties (Ben Sommerville)
+* fixed a bug where duplicate column name in a joined table caused an exception
+* implemented two-phase load for dynamic components
+* fixed a bug where cancelQuery() canceled a re-pooled statement
+* deleted collections are now removed from session-level cache
+* fixed a bug in LocaleType (Steve Ebersole)
+* use "with rr" to obtain UPGRADE locks in DB2
+* package attribute now significant for extends
+* fixed a minor problem with Hibernate Clobs and Blobs
+* extends attribute does no longer require specific ordering of mapping files
+
+Changes in version 3.0 alpha (23.8.2004)
+----------------------------------------
+* package rename net.sf.hibernate -> org.hibernate
+* checked exceptions are now runtime exceptions
+* some session methods deprecated and moved to org.hibernate.classic.Session
+* removed various deprecated functionality
+* added Filter API and mappings, for temporal, regional and permissioned data (Steve Ebersole, Gavin King)
+* support cascade delete via ON DELETE CASCADE constraint
+* added extra attributes to named query definition
+* added hibernate.use_identifier_rollback
+* added subselect mappings
+* added lazy="true" to property mappings
+* added <join/> for multitable mappings
+* added <union-subclass/> for table-per-concrete-class strategy
+* added Statistics API and JMX MBean (Gavin King, Emmanuel Bernard)
+* introduced new event-driven design (Steve Ebersole)
+* support for faster startup with Configuration.addCachableFile() (Joris Verschoor, Max Andersen)
+* mask connection password for log level greater of equals to info (Joris Verschoor, Emmanuel Bernard)
+* add check of named queries when building SessionFactory (Joris Verschoor, Emmanuel Bernard)
+* added custom EntityResolver setting capability (Emmanuel Ligne, Emmanuel Bernard)
+* PropertyValueException for null values in not-null properties of components (Emmanuel Bernard)
+* enhanced support for single- and no-argument sql-functions in HQL select clause (Michael Gloegl)
+* Added catalog element, to enable table names like catalog.schema.table (Michael Gloegl)
+* Added <sql-insert>, <sql-update> and <sql-delete> support (Max Andersen)
+* Support callable statements (stored procedures/functions) via callable="true" on custom sql (Max Andersen)
+* Added support for type parameters and typedefs (Michael Gloegl)
+* Added support for JDBC escape sequences in createSQLQuery (Max Andersen)
+* Added statistics per SessionFactory (Gavin King, Emmanuel Bernard)
+* Added a StatisticsService MBean for JMX publucation (Emmanuel Bernard)
+* support for updates via rownum in Oracle
+* fixed problems with SchemaUpdate
+* support for <column formula="..."/>
+* added hibernate.use_sql_comments
+* added property-ref to collection <key/>
+* fixed performance problems with <one-to-one property-ref=.../>
+* enhanced UserType with new methods assemble()/disassemble()
+* better algorithm for batch fetch batch sizes
+* added <dynamic-class>
+* added entity-name concept, and session methods save(entityName, object), update(entityName, object), etc
+* added framework in proxy package
+* native SQL queries may now fetch a collection role
+* added <loader/> for class and collection mappings
+* added getEntity() and getEntityName() to Interceptor
+* formula-based discriminators and association mappings
+* added "guid" id generation strategy
+* various improvements to dialects
+* <discriminator force="true"/> now acts as a filter on collections
+* where filters now apply in the on clause in an outer join
+* added hibernate.jdbc.factory_class to select a custom batcher
+* session now uses entity name + id to enforce uniqueness, instead of table name + id
+
+Changes in version 2.1.6 (9.8.2004)
+------------------------------------
+* fixed Quickstart/readme.txt instructions
+* fixed DB2/400 identity column support
+* fixed the scroll() query method
+* fixed exotic classloader problems with CGLIB
+* added insert="false" for discriminator columns which are part of a composite identifier
+* added several new configuration settings to JMX HibernateService
+* added new instantiate() method to SessionFactory.getClassMetadata()
+* improved the HSQL DB dialect with features from new version
+* added hibernate.jdbc.batch_versioned_data (Steve Ebersole)
+
+Changes in version 2.1.4 (2.6.2004)
+------------------------------------
+* improved Session serialization support by adding ability to serialize unflushed sessions (Steve Ebersole)
+* fixed Session.clear() functionality to clear the internal nonExists cache (Steve Ebersole)
+* much better implementation of scroll() (Steve Ebersole)
+* support "select new ..." for iterate() and scroll() (Steve Ebersole)
+* added support for multi-parameter SQL functions (Steve Ebersole)
+* fixed hbm2ddl generating infinite indexes on MySQL (Michael Gloegl)
+* fixed alias precedence in HQL queries, function names are second (Steve Ebersole)
+* added "transactional" as allowed cache concurrency strategy in XML configuration file
+* improved System.getProperties() with security exception warning in secure environments
+* improved Proxool integration, better property handling
+* fixed problem with use of getDefinedMethod() in secure environments (Ken Arnold)
+* fixed bug in createSQLQuery() which prohibited multiple aliases for the same entity (Max Andersen)
+* fixed query cache misses when using named bind parameters (Michael Greer)
+* recognize "left" and "right as keywords in SQL fragments
+* recognize SQL quoted identifiers in SQL fragments
+* improved identity handling on SQL Server by using scope_identity() for update counts (Arthur Fitt)
+* added DB2390Dialect for DB2/390 databases (Kristoffer Dyrkorn)
+* fixed a bug in toArray() of identifier bag collections (Khachchou Mohammed)
+* fixed a problem with DDL generation for serial columns in Informix
+* fixed a problem with DDL generation for timestamp columns in Informix (Michael Schmidt)
+* fixed a NPE that occurred calling saveOrUpdateCopy() for components
+* fixed a bug with replicate() and uninitialized collections
+* fixed a bug caching one-to-one associations
+* fixed eviction from named query cache regions
+
+Changes in version 2.1.3 (25.4.2004)
+-----------------------------------
+* added SELECT-clause SQL function support to main Dialects
+* fixed a problem where some unnecessary selects where issued for optional one-to-one associations
+* fixed a bug in SQL generation for criteria queries with multiple one-to-many joins
+* deprecated everything related to PersistentEnum
+* fixed an NPE that occurred when using <one-to-one property-ref> with composite ids
+* fixed a problem with JCA adaptor on WebLogic (Michael Gloegl)
+* improved behavior when removing elements from <idbag>s
+* fixed a bug in getGeneratedKeys() support (Michael Gloegl, Kevin Day)
+* fixed a bug when using Criteria queries with collections of joined-subclasses
+* fixed an NPE that occurred when calling comparator() on a lazy sorted set (Attila Szegedi)
+* fixed a bug when using setMaxResults() with native SQL queries in some Dialects
+* validate that composite id classes override hashCode() (Adrien)
+* fixed some minor problems with saveOrUpdateCopy()
+* fixed some problems in OSCache provider
+* fixed an NPE that occurred when calling a lazy collection after evicting from session
+* fixed an NPE that occurred when select-before-update is used with unversioned data (Patrick Peralta)
+* fixed a bug where dynamic-components could not be queried (Massimo Ferrari)
+* SQL formula parser now recognizes all Dialect-specific SQL functions (Anthony Patricio)
+* fixed a problem where SQL CASE statements could not appear in SQL formulas
+* fixed a problem where subselects with joins could not appear in SQL formulas
+* C3P0 and Proxool pools now cleaned up after SessionFactory.close()
+* fixed a bug where dirty checking of mutable properties was broken after lock()
+* fixed a minor bug where orphan delete was broken for newly saved instances
+* added Query.setFetchSize() and Criteria.setFetchSize()
+* PreparedStatement pooling in DBCPConnectionProvider can now be disabled (Emmanuel Bernard)
+* Query.setProperties(Object) now detects array and collection valued properties and delegates to Query.setParameterList() (Max Andersen, Nick Heudecker)
+* lengths of positional parameters and types arrays are now validated
+* fixed an obscure problem where a PreparedStatement was not closed
+
+Changes in version 2.1.2 (4.2.2004)
+-----------------------------------
+* added Session.isDirty()
+* fixed a very obscure concurrency problem with read-write cache for inverse collections
+* deprecated Criteria.returnMaps() / Criteria.returnRootEntities() in favor of new ResultTransformer framework
+* don't cache objects with dynamic-update="true" or <joined-subclass> mappings immediately after insert/update
+* added version checking to saveOrUpdateCopy()
+* fixed constraint violations that occurred when mixing identity columns with other id generation strategies
+* added Sybase 11.9.2 dialect to support older versions of Sybase that do not support ANSI joins (Colm O' Flaherty)
+* added Informix9Dialect (Finn McCann and Max Andersen)
+* added DB2400Dialect (Peter DeGregorio)
+* fixed a problem where mapping validation failure was reported as duplicate import (Michael Gloegl)
+* fixed a problem with Expression.not() in MySQL (Michael Gloegl)
+* added support for ResultSet.getGeneratedKeys() (David Morris, John Kristian)
+* added check attribute to allow check constraints in DDL
+* implicit polymorphism for Criteria queries (Shorn Tolley)
+* use IF EXISTS for dropping hilo tables (Michael Gloegl)
+* better exception report if deleted object is resaved by cascade
+* support nested components in Example queries (Emmanuel Bernard)
+* fixed a minor problem with onDelete() callbacks
+* fixed an obscure problem with select-before-update
+* added SunONETransactionManagerLookup (Robert Davidson)
+* fixed a problem with replicate() and <joined-subclass> mappings
+* made setParameterList() accept empty lists and deny null values (Max Andersen)
+* validation check on query parameters now allows setParameter(x, null) (Max Andersen)
+* added default-access to DTD (Max Andersen)
+* made Query.setParameterList() accept empty lists and deny null values (Max Andersen)
+* allow Query.setParameter(x, null) (Max Andersen)
+* queries with "select new" now cacheable
+* throw meaningful exception when lazy initialization occurs on disconnected session
+* added default-access to <hibernate-mapping> (Max Andersen)
+* added -text support to SchemaUpdate (Max Andersen, Matt Hall)
+* fixed broken implementation of embedded composite keys with createSQLQuery() (Max Andersen)
+* added hibernate.cache.use_minimal_puts config property to reduce unnecessary second-level cache puts
+* optimized performance of orphan delete detection (Bertrand Renuart)
+* fixed problem where unnecessary UPDATE occurred after INSERT for versioned objects with collections
+* WebSphereTransactionManagerLookup for WAS 5.1 (Edina Pimp)
+* Criteria queries now cacheable (Mario Ivankovits)
+* fixed problem with ordered, paginated queries in DB2 (Tim Collins)
+* fixed a bug caching <idbag>s
+* lazy="true" collections are now lazy even when available in cache
+* fixed a problem with version unsaved-value="negative"
+* added hibernate.cache.region_prefix config property (William Drai)
+* fixed problem where configuration input streams were not closed (Rajesh Patel)
+
+Changes in version 2.1.1 (17.12.2003)
+-------------------------------------
+* added optional package attribute to <hibernate-mapping>
+* added <meta-value> element to allow simpler <any> mapping
+* native SQL queries are now cacheable - added <synchronize> element to allow correct result set expiry
+* fixed a bug in CGLIB2 integration (Chris Nockleberg)
+* added NamingStrategy
+* don't cache objects with formula properties immediately after insert/update
+* log generated SQL to a special category
+* type of property with access="field" may now be guessed using reflection
+
+Changes in version 2.1 final (12.12.2003)
+-----------------------------------------
+* fixed a problem with CGLIB2 proxies and method calls inside constructors
+* fixed a bug running SchemaExportTask with mappings in jar files (Tom McCune)
+* allow custom persister declaration for subclasses (Nick Johnson)
+* fixed handling of sequences in SchemaUpdate on Oracle (Andrew Delpha)
+* fixed a bug where Iterator did not handle single null values correctly
+* detect and throw exception in the case of a duplicate property mapping
+* don't auto-create indexes for collection foreign keys (roll back to 2.0.x)
+
+Changes in version 2.1 rc1 (29.11.2003)
+---------------------------------------
+* long identifier and discriminator column names are now safely aliased (Max Andersen)
+* cleaned up mapping package to allow applications to manipulate metamodel programmatically
+* fixed a recent bug where collection sort order was lost in second-level cache
+* formula attribute now supported for joined-subclass mappings
+* formula properties may now be used anywhere in queries
+* dialect-specific query pagination for SQL Server
+* fixed a bug where a long path expression ending in collection access by index missed some tables in SQL FROM clause
+* fixed a very ancient performance problem where null one-to-one associations caused n+1 selects
+* added Session.saveOrUpdateCopy()
+* fixed some bugs in Example queries
+* fixed some minor bugs in dialect-specific query pagination
+* immutable entity passed to update() is now lock()ed instead
+* reworked the semantics of nonstrict-read-write
+* JCS cache support now deprecated
+* fixed some obscure bugs in collection handling
+* migrated to CGLIB2 (thanks to Chris Nockleberg)
+* fixed bugs in replicate()
+* fixed a bug affecting joined-subclass mappings with dynamic-update=true
+* performance improvements to boolean type mappings (Bertrand Renuart)
+* integrated JBoss TreeCache clustered cache (thanks to Bela Ban and Ben Wang)
+* fixed a bug in new query parameter validation (Steve Ebersole)
+* fixed a bug where <any> mappings caused unnecessary ObjectDeletedException at flush time
+* fixed a bug where associations with property-ref mappings were not properly cached
+* throw PropertyValueException when not-null properties are null at flush time
+* added unsaved-value attribute to version property mapping (Emmanuel Bernard)
+* tolerate classnames containing $ (Steve Ebersole)
+
+Changes in version 2.1 beta 6 (5.11.2003)
+-----------------------------------------
+* added Session.cancelQuery()
+* improvements to transaction handling for failed commit (thanks to Juergen Hoeller)
+* added cascade="delete-orphan"
+* fixed an exception that occurred when a property was declared not-null="true" update="false" (thanks to John Kristian)
+* support multiple named query cache regions (Mikheil Kapanadze)
+* some improvements to collection reattachment
+* fixed a bad bug with adds to an uninitialized bag or list
+* removed support for <dynabean/> components
+* added <dynamic-component/> mapping for properties of type Map
+* fixed a bug where schema export generated index names that were too long for DB2
+* allow per-region expiry policies in OSCache (Matthias Bogaert)
+* fixed a stack overflow that could occur while initializing nonlazy collections
+* fixed a bug in case-insensitive like for Example queries
+* fixed a bug in ScrollableResults.setRowNumber() (Martin Priekopa)
+* improvements to the cache concurrency strategies
+
+Changes in version 2.1 beta 5 (30.10.2003)
+------------------------------------------
+* Support for custom CollectionPersister (Nick Johnson, Max Andersen)
+* Support for named SQL queries (Max Andersen)
+* duplicate named queries now throws MappingException instead of just logging warning (Max Andersen)
+* fixed problems with WebSphereTransactionManagerLookup (Ralf Taugerbeck, Daniel Bradby)
+* added support for custom collection persisters (thanks to Max Anderson, Nick Johnson)
+* fixed a performance problem during query compilation (Bulent Erdemir)
+* composite keys now supported in createSQLQuery() (Max Andersen)
+* fixed JCA adaptor to run in WebLogic (Daniel Bradby)
+* integrated SwarmCache (Jason Carreira)
+* integrated OSCache (Matthias Bogaert)
+* fixed an NPE that could occur with lists and orphan delete
+* allow nullable one-to-one with property-ref
+* improved usage of Dialect-specific limit SQL
+* fixed problem where non-lazy collections held by cached objects were not immediately initialized
+* fixed getReturnTypes() for native SQL queries (Max Andersen)
+* fixed problems with Criterions that applied to multi-column properties
+* check of rowcounts when JDBC batch updates enabled
+* added named SQL queries using <sql-query> element (Max Andersen)
+* added some extra validations so Hibernate fails earlier when user makes mistakes
+* allow lazy="true" as an alternative to proxy="ClassName"
+* removed dependency to commons-lang
+* SchemaExport now creates indexes for collection foreign key columns if specified by Dialect
+* fixed a bug parsing named parameters in setParameterList()
+* select new Foo(...) will now tolerate null values if the constructor accepts a wrapper type
+* fixed a problem detecting Proxool
+* added logging of persistent object states during flush()
+* allow "not null" as a discriminator value
+* added "parameters" config param to "sequence" generator (Matthias Bogaert)
+
+Changes in version 2.1 beta 4 (3.10.2003)
+-----------------------------------------
+* fixed a bug where <any> mappings did not handle proxies correctly
+* implemented new optimistic-lock strategies
+* fixed several bugs in Criteria query API
+* fixed a bug caching property-ref associations
+* improvements to XML Databinder (Ara Abrahamian)
+* added Session.replicate() and ReplicationMode
+* added ScrollableResults.setRowNumber() / ScrollableResults.getRowNumber()
+* added query cache and Query.setCacheable()
+* added Criteria.returnMaps()
+* fixed some problems with CGLIB proxies
+* fixed an NPE that occurred when a joined-subclass of a versioned entity defined only collections
+* added the access attribute, direct field access and the PropertyAccessor extension point
+* added MatchMode for use with Criteria queries (thanks to Michael Gloegl)
+* fixed a bug where some lazy="false" collections were not immediately initialized
+* fixed problem with WebSphere 5 TransactionManager
+* support schema attribute in MySQL, by using an underscore in the table name (Chris Hane)
+* now seperate Dialects for Interbase and Firebird (Reha Cenani, Max Andersen)
+* removed built-in PreparedStatement cache
+* added Session.getSessionFactory()
+* fixed problem with native SQL queries and Query.setProperties() (Max Andersen)
+* Query now fully validates parameters against the query string before passing them to JDBC (Max Andersen)
+* fixed an NPE in SessionFactory.close()
+* fixed an NPE that occurred when using <idbag>s
+* added SQL-level query results paging to DB2Dialect
+* "foreign" id generator now handles detached instances
+
+Changes in version 2.1 beta 3 (7.9.2003)
+----------------------------------------
+* added Example queries
+* fixed an exception that occurred at startup with <key-many-to-one> and <joined-subclass>
+* fixed a bug where composite-elements were not being updated if a property not in the equals() was changed
+* <parent> property of a composite-element may now be used in equals()
+* named parameters may now be used in HQL order by clause
+* null value of version property now indicates unsaved instance
+* added select-before-update attribute
+* two-phase loading now use for components
+* better implementation of equals()/hashCode() for proxies
+* added property-ref attribute to <many-to-one>
+* renamed result() to uniqueResult()
+* added Session.get()
+* added HashtableCacheProvider
+* JTA TransactionManager now used even when not using Hibernate Transaction API
+* always bypass process-level cache for LockMode.READ
+
+Changes in version 2.1 beta 2 (27.8.2003)
+-----------------------------------------
+* <subclass> and <joined-subclass> may now appear outside of a <class> element, by providing the extends attribute (Max Andersen)
+* fixed an NPE at startup that was introduced in beta 1
+* fixed a bug in Map.putAll()
+* new pluggable cache API
+- deprecated <jcs-cache> in favor of <cache>
+- net.sf.hibernate.cache.CacheProvider settable via hibernate.cache.provider_class
+* more aggressive caching
+* added Hibernate.close(Iterator)
+* Criteria queries may now include joins
+- Criteria.addJoin()
+- Criteria.createCriteria()
+* hibernate.transaction.manager_lookup_class should now ALWAYS be specified in JTA environment when using jcs caching
+* fixed a bug caching <key-many-to-one>
+* fixed bug where cached component did not get <parent> property populated
+* added hibernate.max_fetch_depth property
+* smarter outer-join fetching
+* transient object may now be associated with session using Session.lock()
+* added Query.result(), Criteria.result()
+
+Changes in version 2.1 beta 1 (10.8.2003)
+-----------------------------------------
+* batch-size attribute for collection and class mappings, to allow batch loading
+* collections of "value types" (including composite-elements) may now appear in HQL from clause
+* more efficient loading of collections, and better handling of non-lazy collections
+* added HQL index() function to allow access to collection element index
+* added Session.createSQLQuery() (Max Andersen)
+* added outer-join attribute to collection mappings
+* Criteria.setFetchMode() now applies to collection-valued path expressions
+* added property-ref attribute to <one-to-one>, enabling unique foreign key associations
+* added hibernate.max_fetch_depth config property
+* added hibernate.hbm2ddl.auto config property
+* fixed a bug with combination of <jcs-cache> and <key-many-to-one>
+* support for Dialect-specific SQL functions in HQL select clause (David Channon)
+* added Session.clear()
+
+Changes in version 2.0.2 (2.8.2003)
+-----------------------------------
+* subqueries may now use HAVING and GROUP BY clauses
+* fixed a bug with setMaxResults(), setFirstResult() in HSQL (introduced in 2.0.1)
+* fixed a bug in Set.removeAll()
+* fixed a bug in SchemaUpdate (Mathias Bogaert)
+* added weak typing functionality to ScrollableResults
+* fixed a bug with "calendar" versioning in IBM JDK1.3.1 (workaround for JDK bug)
+* fixed a bug in mapping DTD that caused a problem for hbm2java (Max Andersen)
+* fixed a bug querying nested components
+* SQL generation now prefers ANSI-style inner joins to theta inner joins
+* fixed a bug caching collection references loaded using FETCH
+* fixed a bug with composite foreign keys in normalized table mappings (Tom Sedge)
+* limit support for Interbase (Ludovic Orban)
+* added where attribute to <class> mappings
+* added cascade="all-delete-orphan" for collection mappings
+* fixed a bug binding named parameters with setMaxResults()/setFirstResults()
+* fixed some minor bugs in HQL translator
+* fixed a long-standing bug where a <key-many-to-one> could not be dereferenced in HQL
+* SQL UPDATEs now occur in a predictable order (same order as objects were loaded)
+* support for SELECT ... FOR UPDATE in SAPDB
+* fixed bug where Criteria queries against a subclass also returned superclass instances
+* fixed a very rare bug where an update could get lost with normalized mappings
+* fixed a problem with proxied class heirarchies rooted at an interface or abstract class
+* where and order-by attributes now allow SQL function calls and subselects
+* added formula attribute to <property> tag, to allow "computed" properties
+* fixed a bug where PreparedStatements were sometimes not closed when an exception occured
+* workaround for a problem with <joined-subclass> and Interceptor.onFlushDirty()
+
+Changes in version 2.0.1 (17.6.2003)
+------------------------------------
+* fixed some problems with new dialect-specific LIMIT clauses
+* improved parsing of collection where attribute
+* made one-to-many bags more efficient (they are really sets!)
+* allowed type="calendar" for <version> properties
+* fixed a bug with locking a versioned composite-id class
+* refresh() may now take a transient instance
+* added ProxoolConnectionProvider (Martin Crawford)
+* fixed some minor JCA issues (Mike Mosiewicz)
+* fixed a bug with FETCH and sorted associations
+* improved performance of SchemaUpdate tool (Teodor Danciu)
+* fixed a bug in Configuration.addFile(String) (Ken Geis)
+* tidied up and documented hbm2ddl package (esp. Ant tasks)
+* deprecated CounterGenerator in favor of IncrementGenerator
+* improved logging during initialization
+* deprecated "vm" in favor of "increment" id generator
+
+Changes in version 2.0 final (8.6.2003)
+---------------------------------------
+* added "fetch" keyword to HQL
+* added evict() methods to SessionFactory for JVM-level cache
+* destroy caches from SessionFactory.close()
+* fixed an NPE in Session.evict() (Simon Spero)
+* added Query.setLockMode()
+* tidied up implementation of Loader
+* release ResultSets more aggressively
+* miscellaneous improvements to some Dialects
+* hbm2java now honors the sort attribute (Max Andersen)
+* added exceptions to Interceptor interface
+* fixed problem with setMaxResults(), setFirstResult() in Oracle (introduced in beta 6)
+* fixed some SQL generation that was a problem for Sybase (Dietmar Posselt)
+* fixed some problems with ODMG API (Oliver Gries)
+* added JOTMTransactionManagerLookup (Low Heng Sin)
+* added JOnASTransactionManagerLookup (?)
+* fixed a bug in WeblogicTransactionManagerLookup (Mathias Bogaert)
+* added Criteria.setFetchMode()
+* added new Expressions
+* much more elegant/robust handling of quoted identifiers
+* renamed Hibernate.association() to Hibernate.entity()
+* added dynamic-update and dynamic-insert mapping attributes
+* fixed a bug with refresh() of objects with collections
+* HQL aliases now optional - "from Cat" now legal
+* platform-independant quoting of identifiers using backticks
+
+Changes in version 2.0 beta 6 (10.5.2003)
+-----------------------------------------
+* fixed a bug querying one-to-many associations to a <joined-subclass>
+* added support for dialect-specific LIMIT-style clauses (David White)
+* added <idbag>
+* fixed bug in hashCode() of persistent collections
+* <joined-subclass> now supported in HSQL (Wolfgang Jung)
+* fixed problem for XML parsers which ignore default values declared in DTD
+* <meta> tags can now be set to not be inheritable
+* fixed bug in Expression.in()
+* fixed an NPE that could occur from update() in very strange cases (Chris Nockleberg)
+* disabled outer-join back to owner when initializing one-to-many (performance improvement)
+* fixed a bug in Query.setParameterList() (Nick Heudecker)
+* improved JCA support (Igor Fedorenko)
+
+Changes in version 2.0 beta 5 (21.4.2003)
+-----------------------------------------
+* Informix support (Steve Molitor)
+* fixed a bug parsing "select new ... " queries
+* deprecated "object" type in favor of <any> mappings
+* added Session.contains()
+* added extra DBCP config options (Alex Burgel)
+* SessionFactory.close() now unbinds from JNDI
+* added Session.evict()
+* got rid of an unnecessary SQL DELETE issued when an empty collection was dereferenced
+* where attribute of collection mappings no longer ignored for deletion
+* improved logging
+* support polymorphic associations to "embedded" composite id classes
+* various bugfixes to collection filter parameter binding
+* fixed some problems with proxies introduced in earlier beta versions
+* fixed bug with self-reference in the case of identity column id generation
+* added hibernate.cglib.use_reflection_optimizer property
+* added nonstrict-read-write cache
+* fixed an SQL-generation bug in new Criteria API
+* added CompositeUserType
+* sequence and table id generators now aware of default-schema
+* added update and insert attributes to <component> element
+* fixed a bug with expressions like elements(foo.bar.baz) in where clause
+* more efficient Set initialization (two-phase load)
+* removed support for hibernate.query.imports and added <import> mapping element
+* fixed problem in DBCP connection validation and added new config properties
+* hbm2java can now generate finder methods for persistent objects (experimental) (Matt Hall)
+* hbm2java small fixes/refactorings to support generating more than one file per persistent object (Max Andersen)
+
+Changes in version 2.0 beta 4 (22.3.2003)
+-----------------------------------------
+* Major HQL improvements
+- from "Foo as foo join foo.bars as bar" instead of "from foo in class Foo, bar in elements(foo.bars)"
+- "select new Foo(bar.name, bar.amount) from ...."
+- outer and full join support
+* Query methods now return this, to allow chaining
+* FrontBase support (Run Lussier)
+* experimental JCA support (Daniel Bradby)
+* hbm2java now can generate Beans style property events (Klaus Zimmermann)
+* support SQL identifiers quoted with []
+* fixed bug with PostgreSQL
+* name attribute now optional in .cfg.xml
+* support for postgres ilike operator (M Lang)
+* squash warnings with GNU JAXP (Chris Nockleberg)
+* fixed a bug in Query.setParameterList()
+* Ingres support (Ian Booth)
+* collections now detect changes not made via wrapper for newly saved objects
+* new (experimental) Criteria + Expression APIs
+* Query.setEntity(), etc, now aware of proxies (also improved hueristics for guessing Type)
+* added Hibernate.isInitialized()
+* detect changes made directly to newly-wrapped collection (ie. not via the wrapper)
+* added Hibernate.refresh(Object, LockMode)
+* update(), saveOrUpdate() no longer initialize a proxy
+* fixed problems with Sybase
+* added force attribute to <discriminator>
+* improved handling of null discriminator-value
+* support SQL-style '' escape for HQL strings
+
+Changes in version 2.0 beta 3 (24.2.2003)
+----------------------------------------
+* collections now represent null elements as a missing row
+* collections now deserialize correctly (fix for bug in beta 2)
+* standardised on dom4j for XML parsing
+* fixed bugs in collection caching (an exception occurred for some sorted collections and some kinds of maps)
+* allowed null discriminators
+* set autocommit to true in SchemaUpdate
+* fixed a stack overflow that could occur in toString() of classes created with hbm2java (Max Andersen)
+* fixed a bug where composite-element <parent> property was not being set after retrieval from cache
+* added where attribute to collection mappings to allow filtering
+* fixed a exception that occurred when wrapping collections with sort="MyComparator" (Jason Horne)
+* objects with mutable="false" are now never updated
+* fixed an exception that occurs with <key-many-to-one> association to a class with a composite id (Stefano Travelli)
+* added SchemaExport Ant task (Rong C Ou)
+* integrated latest CGLIB release (Juozas Baliuka)
+- added support for new CGLIB reflection optimizer (Juozas Baliuka)
+* improved query cache algorithm (Who?)
+* fixed a bug in "object" type
+* Lists and arrays now represent null elements as a missing row
+* fixed a bug in Hibernate PreparedStatement cache where maxRows and fetchSize were not cleared before re-caching
+* fixed a bug in HibernateService that caused a restart to fail
+* added SybaseAnywhereDialect (?)
+* added SessionFactory.close()
+
+Changes in version 2.0 beta 2 (2.2.2003)
+----------------------------------------
+* property column names may now be of any length (Mark Woon)
+* fixed problem where CodeGenerator created private get/set pairs (Max Andersen)
+* fixed all silly bugs in Configuration.configure()
+* efficient collection updates from Session.update()
+* added <jcs-class-cache> and <jcs-collection-cache> elements to hibernate-configuration.dtd
+* support for normalized mappings for databases with DECODE instead of CASE (Simon Harris)
+* added Oracle9Dialect
+* added JRun4TransactionManagerLookup (Joseph Bissen)
+* fixed JDBCException to keep reference to underlying SQLException
+* fixed a bug loading many-to-many associations with a repeated column name
+* fixed a bug in ShortType
+* added IngresDialect (Ian Booth)
+* added --config option to SchemaExport
+
+Changed in version 2.0 beta 1 (28.1.2003)
+-----------------------------------------
+* renamed packages to net.sf.hibernate.*
+* all API methods now wrap SQLExceptions
+* removed support for toplevel collections / subcollections
+* created hibernate-mapping-2.0.dtd
+- renamed 'readonly' attribute to 'inverse'
+- renamed 'role' attribute to 'name'
+- changed default value for 'unsaved-value' to "null"
+- added mandatory 'name' attribute to <param>
+- added <meta> tag
+* created hibernate-configuration-2.0.dtd
+* brand new Configuration API, including exposed mapping package
+* completely reworked IdentifierGenerator framework
+- built-in generators now auto-detect the type (so integer identity columns are supported, for example)
+- parameters are now named
+- built-in strategies are renamed
+* expanded Interceptor interface
+* removed exceptions that occur if an object is saved or deleted multiple times in a session
+* added <parent> subelement to <composite-element> and <nested-composite-element>
+* collections except for <bag>s now implement by-value equals() and hashCode()
+* removed all deprecated methods
+* added Session.refresh()
+* added dynamic-update functionality
+* added update and insert attributes to <property> and <many-to-one> mappings
+* added elements(), indices(), size(), maxelement(), minelement(), maxindex(), minindex() collection functions to query language
+* huge improvements to CodeGenerator (Max Andersen)
+* enhanced outerjoin fetching support in queries
+* experimental support for DynaBeans as components
+
+Changes in version 1.2.3 (28.1.2003)
+------------------------------------
+* fixed a recently-introduced problem with Timestamp dirty checking
+* added createClob(), createBlob() for streams (Benoit Menendez)
+* SchemaUpdate now configures Dialect correctly (Michael Locher)
+* update() now working for classes with embedded composite ids
+* unsaved-value attribute now recognized for <composite-id>
+* fixed a minor problem where a very specific kind of SQL select did not qualify a column name
+* added Query.getQueryString()
+* fixed an NPE that sometimes occurred when hibernate.connection.username was not specified
+* fixed a bug in SchemaExport where foreign key constraints did not use qualified tablenames
+* added isFirst(), isLast() to ScrollableResults
+* fixed bug finding properties inherited by mapped interfaces
+
+Changes in version 1.2.1b (4.1.2003)
+------------------------------------
+* fixed an NPE that occurred while loading Hibernate classes in IBM JVM
+* arbitrary JNDI InitialContext properties may now be passed as hibernate.jndi.*
+* fixed a problem where index column was not being nullified when an entity was removed from a one-to-many
+
+Changes in version 1.2.1 (31.12.2002)
+-------------------------------------
+* Changed the MySQL mapping of Hibernate "timestamp" to MySQL "DATETIME" (Matthias Schwinn)
+* TransactionManagerLookup classes now define defaut UserTransaction JNDI names
+* support for WebSphere 5 (Venkat Srinivasan)
+* fixed a bug with query expressions of the form "foo.bar.id" for normalized mappings
+* experimental Blob/Clob support (thanks to Benoit Menendez and Mark Woon)
+* improvements to SchemaUpdater (Benoit Menendez)
+* deprecated suspendFlushes() / resumeFlushes() in favor of FlushMode
+* deprecated IDGenerationException in favor of IdentifierGenerationException
+* fixed a bug introduced in 1.2 final where cascade save-update was sometimes ignored for readonly="true" bags
+* fixed a bug caching null-valued one-to-one associations
+* CodeGenerator now supports <bag> and <joined-subclass>
+* fixed problem with TimestampType on DB2 (Jonas)
+* fixed a bug in generated SQL for collections with <joined-subclass> mappings (Robson Miranda)
+* fixed a bug caching Maps (Benoit Menendez)
+* SchemaExport now accepts a .jar file as a source of mappings
+* hibernate.dbcp.validationQuery setting (Juozas Baliuka)
+* hibernate.c3p0.validate setting
+* added Query.setTimeout()
+* setMaxResults() now behaves sensibly on SAPDB (Russel Smyth)
+* added Query.setProperties() and Query.getNamedParameters(), fixed a bug in Query.getReturnTypes()
+* CodeGenerator now generates equals() and hashCode() for composite-id classes (and toString() for all classes)
+* CodeGenerator now includes superclass properties in subclass constructors (Max Andersen)
+* added Hibernate.custom()
+
+Changes in version 1.2 final (7.12.2002)
+----------------------------------------
+* fixed a bug where uppercase IS NOT NULL, NOT IN, etc were not parsed correctly
+* addition to readonly="true" bags now no longer requires collection initialization
+* added ResinTransactionManagerLookup (Aapo Laakkonen)
+* improved exception message when setting null to primitive type (Max Andersen)
+* improved exception message for an unserializable identifier
+* support for overloaded setter methods (patch by Alex Staubo)
+* CodeGenerator support for <composite-element> (patch by Wolfgang Jung)
+
+Changes in version 1.2 beta 4 (29.11.2002)
+------------------------------------------
+* fixed bugs in one-to-many associations to a <joined-subclass>
+* LockMode class now properly serializable
+* exceptions thrown by proxied objects are now propagated correctly (rather than being wrapped)
+* made Calendar types compilable in JDK1.2
+* added --format and --delimiter options to SchemaExport (thanks to Richard Mixon)
+* fix for problem with class with no properties + native id generation + MS SQL Server contributed by Max Andersen
+* fixed a BAD bug in Hibernate.configure() (thanks to Rob Stokes)
+* CodeGenerator now recognizes <key-many-to-one> (patch by Wolfgang Jung)
+* CodeGenerator now recognizes <version> and <timestamp> (patch by Max Andersen)
+
+Changes in version 1.2 beta 3 (26.11.2002)
+------------------------------------------
+* fixed bug in UPDATE SQL generation for <joined-subclass> mapping strategy (fix by Robson Miranda)
+* support <composite-id> correctly in CodeGenerator (patch by Tom Cellucci)
+* fixed an exception that occurred with short qualified tablenames
+* added the polymorphism attribute to the <class> element
+* allow "not between", "not in" in query language
+* allow subqueries beginning with a from clause in query language
+* query expressions like "not (foo.bar.baz=1)" now translated to "(bar.baz!=1 and foo.bar=bar.id)"
+* support for PostgreSQL ~ operator (regular expression match)
+* load(id, lockMode) now working for normalized table mappings
+* now compiling properly under JDK1.2, 1.3 (fix by Tom Cellucci)
+* support for subcollections in query language: foo.bars[2]['index'], foo.bars[4].elements, foo.bars[0].size, etc.
+* added calendar and calendar_date types
+* find() queries may now return scalar values
+* component-type properties may appear in a select clause
+* ConnectionProviders now set isolation level before toggle autocommit
+* Iterator.next() now throws NoSuchElementException as per Iterator contract (fix by Alex Staubo)
+* database reverse engineering GUI tool contributed by Tom Cellucci
+* SchemaExport now generates column in mapping file order (rather than alphabetical order)
+* <joined-subclass> mappings working on Oracle (?)
+
+Changes in version 1.2 beta 2 (15.11.2002)
+------------------------------------------
+* support multi-argument SQL functions in queries
+* reintroduced deprecated form of update() with slightly altered semantics
+* fixed BAD problem in the generated SQL for certain queries
+* added OrionTransactionManagerLookup
+
+Changes in version 1.2 beta 1 (11.11.2002)
+------------------------------------------
+* Fixed a bad bug binding to JNDI with servers that use serialization in preference to getReference()
+* support for quoted SQL identifiers (patch by Jean-Francois Nadeau)
+* Hibernate.initialize() allows the user to force initialization of a proxy or persistent collection
+* fix to minor bug in CodeGenerator by Max Andersen
+* fixed a problem with outerjoin fetching of one-to-one associations defined on subclasses
+* fixed a minor problem with proxies of classes that override finalize()
+* finished work on normalized table mappings using <joined-subclass> declaration (only for databases with ANSI OUTER JOIN and CASE)
+* deprecated hibernate-mapping.dtd in favor of hibernate-mapping-1.1.dtd
+* reworked unmapped class / interface / table-per-concrete-class query functionality, fixing several problems
+* removed deprecated methods
+* deprecated findIdentifiers()
+* fixed some problems with embedded composite identifiers
+* fixed a bug cascading deletes to one-to-one associations
+* CodeGenerator now generates isFoo() style getters for boolean properties (patch by Aapo Laakkonen)
+* components may now have a nonpublic constructor (patch by Jon Lipsky)
+* changes / bugfixes to MapGenerator tool
+* experimental SchemaUpdate tool contributed by Christoph Sturm
+
+Changes in version 1.1.8 (30.10.2002)
+-------------------------------------
+* full support for composite keys in query language
+* fixed bug where character type could not be null
+* fixed bug parsing collection filters like: "group by this.date"
+* fixed a bad bug where C3P0 properties were not always being used
+* replaced hibernate.use_jdbc_batch with hibernate.jdbc.batch_size
+* renamed some other properties to hibernate.jdbc.*
+* made hibernate.show_sql settable from JMX (patch by Matas Veitas)
+* added SessionFactory.getAllClassMetadata(), getAllCollectionMetadata (patch by Max Andersen)
+* allowed use of concrete-class proxies with inherited classes ie. <subclass name="ConcreteClass" proxy="ConcreteClass">
+* HibernateException extends Apache commons lang NestableException (patch by Max Andersen)
+* <parent> subelement of <component> allows a component to get a reference back to owning entity
+* Query.setParameterList() to bind lists of values to "in (:list)"
+* Java constants may now be used in Queries
+* serialization of an object graph now removes all initialized proxies
+* several other improvements to proxy handling
+* proxies may now be used in JDK 1.2
+
+Changes in version 1.1.7 (25.10.2002)
+-------------------------------------
+* added Session.createFilter()
+* fixed a bug parsing queries with properties of form idXXX (introduced in 1.1.6)
+* fixed a bug parsing queries with the id property named in the select clause (introduced in 1.1.6)
+* fixed a bug dirty checking big_decimal (fix by Andrea Aime)
+
+Changes in version 1.1.6 (24.10.2002)
+-------------------------------------
+* classes without subclasses may now declare themselves as their own proxy
+* outer-join attribute now working for component properties and <many-to-many>
+* outer-join="true" will now force outerjoin loading for an association even if associated class has a proxy
+* enabled oracle-style outerjoins for SAP DB
+* version properties may now be long or short (previously always integer)
+* discriminators may now be boolean type
+* fixed the foo.bar.id.baz syntax for queries doing composite-key joins
+* fixed an NPE that occurred when no Dialect was specified
+* CodeGenerator now fully proxy-aware (patch by Max Andersen)
+* removed dependency upon trove4j
+
+Changes in version 1.1.5b (20.10.2002)
+--------------------------------------
+* fixed an NPE that occurred on JMX startup
+* smarter fetching for one-to-one associations
+
+Changes in version 1.1.5 (19.10.2002)
+-------------------------------------
+* added built-in currency and timezone types
+* hibernate-mapping-1.1.dtd
+- added <index-many-to-many> and <composite-index> subelements of <map>
+- added <key-property> and <key-many-to-one>
+- renamed "save/update" to "save-update"
+- tightened up the dtd (now using enumerated attribute types)
+* enabled multi-column map indexes (ie. key of a Map)
+* composited-id may now include a many-to-one association
+* improvements to Databinder contributed by Brad Clow
+* fixed bugs in minIndex, maxIndex, minElement, maxElement
+* fixed a problem with JTATransaction in a JBoss BMT bean
+* added addMapResource() to the MBean
+* minor improvements to Configuration
+* more accurate cache entry timestamping to increase the likelihood of cache hits
+* JCS cache may now be used with JTATransaction in WebSphere, Weblogic, JBoss (thanks to Matt Baird)
+* improvements to CodeGenerator contributed by Andrea Aime
+* stopped a TransientObjectException that was being thrown when it shouldn't be
+* re-enabled primary key export for tables of sets with not-null elements
+* hibernate.statement.fetch_size configuration contributed by Matas Veitas
+* added Interceptor application callback interface
+* added metadata package to expose persistence metadata to the application
+* changed filter() argument type from Collection to Object to allow filtering of arrays and Maps
+* added <column> index attribute to allow table indexes to be specified in mapping document
+* implemented support for queries against interfaces and abstract superclasses
+
+Changes in version 1.1.4b (4.10.2002)
+-------------------------------------
+* fixed problems for JDK1.2 (thanks to Chris Webb)
+
+Changes in version 1.1.4 (4.10.2002)
+------------------------------------
+* New locking API
+* disabled 2-phase load for objects contained in Sets (because they should be initialized before equals() or hashCode() is called)
+* fixed a bug where non-serializable cache entries could not be cached by JCS auxiliary cache
+* fixed a bug in dirty checking PersistentEnums
+* deprecated getID() in favor of getIdentifier() (for mainly cosmetic reasons)
+* HibernateService may now be subclassed to obtain mapping files by some other mechanism (patch by Chris Winters)
+
+Changes in version 1.1.3 (1.10.2002)
+------------------------------------
+* new 2-phase loading process (replaces complicated "deferred" loading process)
+* new ScrollableResults interface for efficiently navigating Query results
+* removed deprecated interfaces
+* created engine package to hold "internal" APIs (ie. the external contract of the impl package)
+* fixed bug where a component defined before all collections in the mapping file caused collections to not be persisted (thanks to Michael Link)
+* fixed a bug where cascaded saveOrUpdate was ignoring the unsaved-value setting
+* faster Timestamp dirty checking
+
+Changes in version 1.1.2 (29.9.2002)
+------------------------------------
+* added persister attibute of class mapping to support custom persistence strategies
+* Support for Oracle outerjoins contributed by Jon Lipsky
+* Reworked versioning, fixing bugs (and tightening tests)
+* Fixed a bug where an ObjectNotFoundException was thrown for null one-to-one associations
+* fixed problems with timestamps introduced in 1.1.1
+* added batch file for running demo
+
+Changes in version 1.1.1 (27.9.2002)
+------------------------------------
+* Major refactoring / abstraction of persistence logic
+* added maxIndex, minIndex, maxElement, minElement properties for collections
+* added support for class names in where clause of queries
+* fixed a bug where an association could become null after caching
+* fixed a bug where an NPE could occur for a null component
+* fixed minor bugs in SortedMap, SortedSet
+* object type is now cacheable
+* added big_integer type
+* improved dirty checking for timestamp type
+
+Changes in version 1.1.0 (22.9.2002)
+------------------------------------
+* implemented collection indexing with [] in query language
+* fixed some minor query-language bugs
+
+Changes in version 1.1 beta 14 (19.9.2002)
+------------------------------------------
+* bags now implement java.util.List
+* delete() may now take a transient object
+* bug where sorted collections were not being sorted fixed by Brad Clow
+* fixed a bug in many-to-many association filtering
+* no longer try to query connection metadata when using user-supplied connections
+* added hibernate.use_scrollable_resultsets for user-supplied connections
+* fixed a problem where sublists were not being proxied
+* fixed a problem where Hibernate could not call methods of package-visibility classes
+* removed obsolete select attribute from MapGenerator
+* multiple occurrences of same path in a query no longer require multiple joins
+* added WrongClassException
+
+Changes in version 1.1 beta 13 (15.9.2002)
+------------------------------------------
+* added constants to Lifecycle interface
+* fix for circular cascade="save/update"
+* fixed a bug in cascaded update introduced in version 1.1 beta 11
+* added object type
+
+Changes in version 1.1 beta 12 (14.9.2002)
+------------------------------------------
+* Session.filter() for applying a filter query to collections
+* experimental ODMG API (OQL features are not yet compliant)
+* new DBCPConnectionProvider for Apache commons-dbcp connection pool
+* Session.lock() now does version number check even on databases with no FOR UPDATE clause
+* introduced new cascade styles: cascade="save/update", cascade="delete"
+* added default-cascade attribute
+* foreign key columns lengths now automatically set to primary key column lengths for SchemaExport
+* added error checking of row update counts when batching disabled
+* major improvements to ProxyGenerator tool
+* CodeGenerator now aware of proxy attribute
+* integrated PointbaseDialect contributed by Ed Mackenzie
+* fix for problem where Proxies were being initialized on identifier access by Christoph Sturm
+
+Changes in version 1.1 beta 11 (7.9.2002)
+-----------------------------------------
+* deprecated update() in favor of saveOrUpdate() and introduced unsaved-value attribute of <id>
+* children mapped with cascade="all" are now always saved/updated even without a call to update(parent)
+* support for composite-id classes where the composite id consists of properties of the persistent class
+* added constrained attribute to <one-to-one> element
+* added Validatable interface
+* renamed several config properties (Hibernate issues log warnings for obsolete property usage)
+* arbitrary JDBC connection properties may now be passed using hibernate.connection.*
+* fixed a classloading bug in C3P0ConnectionProvider (introduced in 1.1 beta 10)
+* CodeGenerator may now take multiple mapping files on the commandline
+
+Changes in version 1.1 beta 10 (28.8.2002)
+------------------------------------------
+* fixed a bug that occurred when calling Session.update() for an object with no properties
+* changed class loading to use the context classloader first
+* introduced <timestamp> as an alternative to <version>
+* added Query.getReturnTypes()
+* fixed a bug with composite-elements introduced in 1.1 beta 7
+* save() may now be used to persist classes with composite-ids
+* improved handling of nanoseconds values in Timestamps
+* support for composite id properties + objects in select clause of iterate()
+* beefed-up collection tests
+
+Changes in version 1.1 beta 9 (26.8.2002)
+-----------------------------------------
+* fixed a bug introduced in 1.1 beta 8 that could cause an NPE after deserializing a session with proxies
+* deprecated insert() in favor of more flexible save()
+* deprecated IDGenerator in favor of new IdentifierGenerator interface
+* "assigned" id generator now returns the existing value of the id property instead of throwing an Exception
+* fixed a problem where PreparedStatements were not being recached after retrieving a natively generated id
+
+Changes in version 1.1 beta 8 (25.8.2002)
+-----------------------------------------
+* fixed a bug introduced in 1.1 beta 6 where an updated element of an indexed one-to-many collection caused an SQLException
+* uninitialized collections passed to update() may now be initialized in the new Session
+* uninitialized proxies passed to update() may now be initialized in the new Session
+
+Changes in version 1.1 beta 7 (23.8.2002)
+-----------------------------------------
+* fixed a bug where Hibernate was not returning statements to the cache when batch updates were disabled
+* fixed a bad bug parsing mappings with toplevel one-to-many associations
+* fixed a bug with versioning and subcollections
+* reworked Set updates again for much improved efficiency
+* schema export now creates primary keys for indexed collection tables
+* minor refactor to Type hierarchy
+* improved some user-error detection
+* fixed foreign key constraint creation for MySQL with Innodb tables
+
+Changes in version 1.1 beta 6b (20.8.2002)
+------------------------------------------
+* Fixed a problem updating Sets
+* added <bag> mapping for java.util.Collection
+
+Changes in version 1.1 beta 6 (20.8.2002)
+-----------------------------------------
+* completely reworked fetching code
+- one-to-many associations now always fetched in a single select
+- many-to-many associations fetched in a single select when outerjoin fetching is enabled
+- this includes nested outerjoin fetching of the associated class!
+- outerjoin fetching for <many-to-one> nested inside <component> or <composite-element>
+- code refactored to be cleaner and faster
+* removed unnecessary order by clause in List and array fetching SQL
+* collections now individually update, insert and delete only rows that changed (thanks to Doug Currie)
+* fixed a problem where exceptions were being wrapped in a LazyInitializationException for non-lazy collections
+* added order-by attribute to <set> and <map> to specify a table column as defining the iteration order (JDK1.4 only)
+* improved error detection in Session.update()
+* further usage of JDBC2 batch updates
+* some fine-tuning of JDBC2 feature usage configuration
+* CodeGenerator will now generate components and arrays
+* fixed problem where CodeGenerator could not generate classes in the default package
+* improved logging of flush() activity
+* renamed property hibernate.use_jdbc2 to hibernate.use_jdbc_batch
+
+Changes in version 1.1 beta 5 (13.8.2002)
+-----------------------------------------
+* hibernate.query.imports property to allow use of unqualified classnames in queries
+* fixed a bug in collection flushing that was introduced in 1.1 beta 4
+
+Changes in version 1.1 beta 4 (11.8.2002)
+-----------------------------------------
+* JMX integration (thanks to John Urberg)
+* "having" clause in query language
+
+Changes in version 1.1 beta 3 (10.8.2002)
+-----------------------------------------
+* removed the select="all" attribute for <class> mappings - "select distinct" now specified in the hibernate query
+* system properties now override hibernate.properties
+* Session now flushes changes even less often (only when actual updates to the queried table(s) are waiting)
+* fixed a *very* rare problem where an unnecessary update could be accidently issued before a delete
+
+Changes in version 1.1 beta 2 (6.8.2002)
+----------------------------------------
+* fixed a bug exporting schemas with identity columns
+* implemented factory-level caching of collections
+* Datastore.storeJar() contributed by Christian Meunier
+* added <mapping jar="jarfile"> to hibernate.cfg.xml
+
+Changes in version 1.1 beta 1 (4.8.2002)
+----------------------------------------
+* new Query API including named parameters, pageable results
+* subqueries in Hibernate queries (only for databases that support subselects)
+* new DocBook documentation (contributed by Christian Bauer)
+* support collections .elements, .indices inside select clause (even in aggregate functions)
+* don't load collections before removal unless absolutely necessary
+* mutable="false" attribute in <class> element to map immutable classes
+* use JDBC batch to insert collection elements if hibernate.use_jdbc2 is set
+* brand new PreparedStatementCache
+* improvements to MYSQL dialect for long datatypes
+* always check isAccessible() before setAccessible(true)
+* removed extra unnecessary table join in queries with one-to-many association
+* removed ugly "WHERE 1=1" from generated SQL
+* fixed exception mapping a class with no properties (fix by Rob Stokes)
+* logging enhancements including SQLException logging
+* reworked factory-level cache and integrated JCS support (thanks to Christian Meunier)
+* fixed a bug with circular references in cached data
+* removed blocking cache support
+* now rendering outerjoins as "LEFT OUTER JOIN" because "LEFT JOIN" caused problems for some Sybase versions
+* added default Hibernate properties to Dialects
+* native id generation now falls back to sequence id generation when identity columns not supported by the dialect
+* fixed some problems with native id generation under HSQL
+* may now use Session.insert() even when using native id generation
+
+Changes in version 1.0.1b (18.7.2002)
+-------------------------------------
+* fixed a bad bug in query parser when hibernate.query.substitutions was unset
+* much improved build.xml Ant script
+* latest c3p0.jar
+
+Changes in version 1.0.1 (17.7.2002)
+------------------------------------
+* enabled use of scalar values and aggregate SQL functions in select clause of iterate() queries
+* fixed bug in JNDI lookup for SessionFactory
+* changed ordering of SQL inserts/deletes for child collections of a cascade-enabled association
+- better behaviour for some not-null constraints
+- performance optimization for bidirectional many-to-one associations
+* added hibernate.query.substitutions property to allow named query constants (eg. translate 'true' to '1')
+* added locale type for java.util.Locale
+* added sequence hi/lo generator (seqhilo.long)
+* fixed bug where load(), onLoad() callbacks were sometimes called at wrong time
+* fixed an exception (fix by Eric Everman) and improved identifier searching in MapGenerator tool
+* refactored SerializableType
+* extra logging + error handling
+* documentation enhancements
+
+Changes in version 0.9.17 (3.7.2002)
+------------------------------------
+* Added UserType interface
+* documented Lifecycle
+* added some new trace messages to log
+* bugfix to allow SQL functions like upper(), lower(), etc to work on all platforms
+* documented SAP DB support (dialect contributed by Brad Clow)
+* foreign key constraint export for SAP DB
+* map index may be the composite-id of the element class (contributed by Jon Lipsky)
+* fixes to CodeGenerator tool (contributed by Uros Jurglic)
+
+Changes in version 0.9.16 (19.6.2002)
+------------------------------------
+* fixed bug cacheing objects with references to themselves
+* support for composite ids of classes with no id property
+* may now disable outer join (deep) fetching for an association by setting outer-join="false"
+* enabled outer join fetching for one-to-one
+* fixed a bug for mappings that specify class attribute of <one-to-many>
+* fixed a bug where Hashbelt did not expire cached data in a timely fashion
+* fixed a mistake in the mapping DTD
+* new user-error check in update()
+
+Changes in version 0.9.15 (15.6.2002)
+------------------------------------
+* one-to-one associations
+* support for "tricky" mappings in SchemaExport tool (multiple properties to one column, etc)
+* Transaction API contributed by Anton van Straaten
+* SessionFactory may be bound to JNDI name by setting hibernate.session_factory_name
+* Sessions are now Serializable!
+* added Session.findIdentifiers() query methods
+* new Lifecycle interface to replace deprecated PersistentLifecycle
+* fixed problem where session did not autoflush on iterate() queries
+* performance enhancements to collection dirty checking
+* added Hibernate.configure() and configuration file format
+* removed some deprecated methods
+* refactored Type hierarchy
+* query language identifiers now case sensitive (bugfix for case sensitive SQL dialects)
+* username/password now optional for datasource (contributed by Emmanuel Bourg)
+* much improved API documentation
+* binary types now saved using streams if hibernate.use_streams_for_binary=true (contributed by Jon Lipsky)
+* MySQL Strings now mapped to TEXT columns if length > 255 (contributed by Christoph Beck)
+
+Changes in version 0.9.14 (4.6.2002)
+-------------------------------------
+* lifecycle objects - properties now have a cascade attribute to cascade save, update, delete
+* composite id properties may now be used in queries eg. foo.id.bar (contributed by Jon Lipsky)
+* slightly changed semantics of update() so it now also save()s new transient instances
+* Session now flushes() itself less often before query execution (performance enhancement)
+* fixed problem where Session.save() returned null instead of the natively generated id
+* fixed bug with object identity for cached classes
+* fixed bug where delete(x) could not be called after update(x)
+* MUCH improved Exception hierarchy
+* deprecated create()
+* added sql-type attribute to <column> tag to allow user to override default type mapping
+* deeper fetching with use_outer_join
+* new ConnectionProvider framework
+* fixed a bug where blocking cache could return stale data
+* now working again in JDK1.2.2
+* fixed problem with not-null associations + native key generation
+* minor changes to PersistentLifecycle interface
+* initial, minimal version of new Transaction mechanism
+* MUCH improved documentation
+
+Changes in version 0.9.13 (25.5.2002)
+-------------------------------------
+* Datastore.storeResource() to load mapping files from classpath
+* fixed a problem executing under JDK1.3 when compiled from JDK1.4
+* documentation improvements
+
+Changes in version 0.9.12 (24.5.2002)
+------------------------------------
+* Session.update() methods to update a persistent instance from transient copy (as requested by many users)
+* discriminator column name, type, length, etc now configurable by <discriminator> tag in mapping file
+* discriminator column values configurable by discriminator-value attribute of <class> and <subclass> tags
+* added Session.insert(object, id) for classes with no identifier property
+* fixed another bad bug with connection handling (fix by Anton van Straaten)
+* fixed a problem with deferred loading
+* fixed a problem with sorted collections (fix by Anton van Straaten)
+* nested collections of objects now require 2 SQL SELECTs to load, rather than size+1
+* session is NO LONGER atomic - application should discard session when exception occurs
+* fixed problem where character type was mapped to VARCHAR column
+* arrays of proxies now possible by using new element-class attribute of <array> tag
+* fixed various problems with proxies
+* added proxy generation tool
+* proxy unit tests
+* replaced two RuntimeExceptions with checked exceptions
+* made hibernate.username/hibernate.password optional for DriverManager
+* CodeGenerator now supports all hibernate basic types
+* much improved caching algorithm for compiled queries
+* may now specify properties simply by placing hibernate.properties in classpath
+* documentation improvements + fixes
+* --abstract switch to MapGenerator (contributed by Eric Everman)
+
+Changes in version 0.9.11 (12.5.2002)
+------------------------------------
+* fixed major bug with connection handling (fix by Anton van Straaten)
+
+Changes in version 0.9.10 (11.5.2002)
+------------------------------------
+* set a default schema name using SessionFactory property hibernate.default_schema
+* code generator tool contributed by Brad Clow (www.workingmouse.com)
+* lazy object initialization under JDK 1.3 and above
+* fixed some error messages to go to logging framework, not stdout
+* new system property hibernate.show_sql=true logs all executed SQL to stdout
+* integration of bugfixes in c3p0
+* wrap IllegalArgumentExceptions in HibernateExceptions
+* added ObjectNotFoundException and StaleObjectStateException
+* fixed a bug when using schemas
+* new caching strategy (and documented cache feature)
+
+Changes in version 0.9.9 (25.4.2002)
+-----------------------------------
+* sorted sets and maps (thanks to Doug Currie)
+* mapping files may now be loaded using getResourceAsStream() (thanks to Markus Meissner)
+* hibernate messages now logged by Apache commons-logging
+* default hi/lo generator table now has column named "next_id", instead of "next"
+* query language may now refer to identifier property name (eg. foo.fooKey as alternative to foo.id)
+* hibernate.jndi_class, hibernate.jndi_url now optional when using datasource
+* hibernate now throws an exception if you try to persist an object with a reference to a transient object
+* improved connection pooling algorithm (hibernate.pool_size limits pooled conections)
+* very experimental integration of c3p0 JDBC connection pool (http://sourceforge.net/projects/c3p0)
+* now compiles under JDK 1.2.2
+* fixed bug persisting null components
+* fixed bug where cached prepared statements were not cleaned up after disconnect() session
+* fixed a null pointer exception in MappingByReflection
+
+Changes in version 0.9.8 (13.3.2002)
+-----------------------------------
+* supports database native key generation in Sybase, MS SQL, MySQL, DB2, Hypersonic (contributed by Christoph Sturm)
+* supports Mckoi (dialect contributed by Doug Currie)
+* supports Progress (dialect contributed by Phillip Baird)
+* added exceptions to catch Session reentrancy from PersistentLifecycle.load() + store()
+* experimental cross-transaction cache
+* Session.lock() and Session.loadWithLock() for pessimistic locking
+* HiLoGenerators may now use their own DriverManager connection properties + may now use same table across diff mapping files
+* Session.flush(), Session.close() and Session.connection() replace Session.commit(), Session.cancel()
+* Session.disconnect() and Session.reconnect() for long transactions
+* added single JVM id generators vm.long, vm.hex
+* added unique column constraints to mappings
+* extensions to IDGenerator framework
+* support sequence-style ID generation in Oracle, PostgreSQL, DB2, Interbase
+
+* fixed problem where subcollections of a collection that changed roles would be deleted
+* changed class loading strategy to be compatible with JBoss
+* stopped queries retrieving unnecessary columns
+* mutable types (binary + serializable) now always detected as dirty
+
+Changes in version 0.9.7 (26.2.2002)
+-----------------------------------
+* save() now safe from foreign key violations (so create() is no longer preferred method of adding data)
+* delete() now completely safe from foreign key violations - it no longer matters what order objects are deleted in
+* removed Session.copy()
+* hilo generators now NOT for use with application server datasources
+
+* fixed two intermittent bugs in queries
+* fixed a problem where components not detected as dirty
+* fixed broken hilo generator which was not updating database
+* fixed a minor bug when hibernate.use_outer_join was set
+
+Changes in version 0.9.6 (24.2.2002)
+-----------------------------------
+* experimental XML generation
+* added support for bi-directional associations (one-to-set, set-to-set) with <set readonly="true"> config
+* reflective generation of mappings tool was contributed by Doug Currie
+* Session operations now atomic, so exceptions are recoverable
+* made ID properties optional in persistent classes
+* support for multiple schemas through schema attribute of <hibernate-mapping>, <class>, <set>, <map>, etc.
+* auto-creation of tables for hilo id generators (restriction: cannot use same table from more than one mapping file)
+* added some more assertions to catch user "mistakes" like deleting transient or saving persistent objects
+
+* major rework of collections and fixed some bad bugs
+* lazy initialization re-enabled for one-to-many associations (thanks to Georg Schneemayer)
+* fixed a problem in the mapping DTD to allow nested components in collections
+* fixed a BAD bug in RelationalDatabaseSession when loading objects with PersistentLifecycle callbacks (thanks to Paul Szego)
+* fixed problems with quoted strings in query language
+* fixed a bug where a stack overflow occurred instead of HibernateException thrown (thanks to Georg Schneemayer)
+* fixed a bug deleting updated versioned data
+* fixed some problems with name generation for indexes + foreign keys
+* fixed problem in Sun JDK 1.4 (only?) where IllegalArgumentException was not handled
+* minor improvements to handling of dates and times
+* HiLoGenerator now safe for all transaction isolation levels + safe when rollback occurs
+* noticed and fixed obscure piece of nonthreadsafe code outside of core persistence engine
+* removed unnecessary drop constraints for some dialects
+
+* MUCH more comprehensive test suite
+
+* changed some terminology used in documentation
+* added javadoc for API classes
+* commented the mapping DTD
+
+Changes in version 0.9.5 (8.2.2002)
+-----------------------------------
+* supports HypersonicSQL (dialect contributed by Phillip Baird)
+* supports Microsoft SQL server (with third party JDBC driver)
+* proper command-line tool for schema generation and export
+* deprecated the interface cirrus.hibernate.Persistent (due to popular demand)
+* changes to hibernate-mapping DTD (required to support optional Persistent interface):
+- deprecated <property type="package.PersistentClassName"/> in favor of <many-to-one class="package.PersistentClassName"/>
+- deprecated <element type="package.PersistentClassName"/> in favor of <many-to-many class="package.PersistentClassName"/>
+- deprecated <property role="..."/> in favor of <collection role="..."/>
+- deprecated <element role=".."/> in favor of <subcollection role="..."/>
+- deprecated <association> in favor of <one-to-many>
+* class attribute optional in <component> and <composite-id> tags (determined by reflection)
+* querying components of components now supported
+* one-shot table creation (no use of unportable "alter table")
+* time dataype support
+* reflective mappings of java.sql.Time, java.sql.Timestamp, java.sql.Date
+* fixed error msg thrown when class is missing a method but has a superclass
+* property names now conform to JavaBean spec ("foo" instead of "Foo"). Note that "Foo" still works
+* constructors of persistent classes may now be non-public
+* collection indexes now mapped to not-null columns
+* fixed obscure bug with querying collections inside components of components
+* fixed potential bug related to cacheing of compiled queries
+* major rewrite of code relating to O-R mappings
+* Session.copy() and Session.equals() as convenience for users
+* fixed repeated invocations of hasNext() on iterator + iterators now always work with distinct SQL resultsets
+* McKoi dialect was contributed by Gabe Hicks
+
+Changes in version 0.9.4 (29.1.2002)
+------------------------------------
+* fixed BAD bug where XML parsing would not work for parsers other than Xerces - thanks to Christian Winkler
+* added some more assertions to catch user "mistakes" like changing ids or reusing existing ids
+
+Changes in version 0.9.3 (27.1.2002)
+------------------------------------
+* repackaged (corrupted DatasourceConnectionProvider.class)
+* better exception reporting using datasource
+* added Datastore.storeClass() which looks for mapping file in classpath (class foo.Bar -> foo/Bar.hbm.xml)
+* improved documentation
+
+Changes in version 0.9.2 (25.1.2002)
+------------------------------------
+* iterate over query results (lazy instantiation of query results)
+* added "select foo, bar" style queries returning multiple objects per row
+* delete by query
+* composite key support
+* outer joins for faster (?) loading of associated objects ( set "hibernate.use_outer_join" to "true" )
+* connection pooling when using DriverManager
+* foreign key constraint from unkeyed collection table to owner entity table
+* improved drop tables script execution (still not infallible)
+* added <composite-element> tag
+* added not-null properties and elements
+* added an optimisation for dates and components
+* made some XML attributes optional
+* fixed errors in documentation + documented some extra features
+* bugfix: store() not getting called on lifecycle interface
+* bugfix: schema generation for indexed associations
+* added many tests
+
+Changes in version 0.9.1 (20.1.2002)
+------------------------------------
+Too many to list
+
+version 0.8.1
+-------------
+Initial alpha version
+
Copied: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/hibernate_logo.gif (from rev 21083, core/trunk/hibernate_logo.gif)
===================================================================
(Binary files differ)
Copied: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/lgpl.txt (from rev 21083, core/trunk/lgpl.txt)
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/lgpl.txt (rev 0)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/lgpl.txt 2012-12-10 15:32:10 UTC (rev 21084)
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
Copied: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/pom.xml (from rev 21083, core/trunk/pom.xml)
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/pom.xml (rev 0)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/pom.xml 2012-12-10 15:32:10 UTC (rev 21084)
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-parent</artifactId>
+ <version>3.6.0-SNAPSHOT</version>
+ <relativePath>parent/pom.xml</relativePath>
+ </parent>
+
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <packaging>pom</packaging>
+
+ <name>Hibernate Core Aggregator</name>
+ <description>Aggregator of the Hibernate Core modules.</description>
+
+ <properties>
+ <!-- Skip artifact deployment -->
+ <maven.deploy.skip>true</maven.deploy.skip>
+ </properties>
+
+ <modules>
+ <module>parent</module>
+ <module>core</module>
+ <module>testing</module>
+ <module>testsuite</module>
+ <module>cache-ehcache</module>
+ <module>cache-jbosscache</module>
+ <module>cache-oscache</module>
+ <module>cache-swarmcache</module>
+ <module>connection-c3p0</module>
+ <module>connection-proxool</module>
+ <module>envers</module>
+ <module>jdbc3-testing</module>
+ <module>cache-infinispan</module>
+<!--
+ <module>tutorials</module>
+-->
+<!--
+ Need to scope bytecode providers first...
+ <module>bytecode-cglib</module>
+ <module>bytecode-javassist</module>
+-->
+ </modules>
+
+ <build>
+ <defaultGoal>install</defaultGoal>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-9</version>
+ <configuration>
+ <autoVersionSubmodules>true</autoVersionSubmodules>
+ </configuration>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.5</version>
+<!--
+ <configuration>
+ <stylesheetfile>src/main/javadoc/hibernate-javadoc.css</stylesheetfile>
+ </configuration>
+-->
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>jdk6-modules</id>
+ <activation>
+ <property>
+ <name>disableJDK6Modules</name>
+ <value>!true</value>
+ </property>
+ </activation>
+ <modules>
+ <module>entitymanager</module>
+ <module>jdbc4-testing</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>docs</id>
+ <activation>
+ <property>
+ <name>disableDistribution</name>
+ <value>!true</value>
+ </property>
+ </activation>
+ <modules>
+ <module>documentation</module>
+ <module>distribution</module>
+ </modules>
+ </profile>
+ </profiles>
+</project>
Copied: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/tagRelease.sh (from rev 21083, core/trunk/tagRelease.sh)
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/tagRelease.sh (rev 0)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-10486/tagRelease.sh 2012-12-10 15:32:10 UTC (rev 21084)
@@ -0,0 +1,107 @@
+#! /bin/sh
+
+usage="Usage: tagRelease [-u] [-e exportDirectory] [-r releaseVersion] [-d devVersion]"
+projectDir=`pwd`
+
+releaseVersion=
+devVersion=
+
+performUpdate=''
+exportDirectory=''
+
+################################################################################
+# Update all project poms and commit the changes.
+#
+# $1: project directory (base directory of recursve find)
+# $2: new value for the pom version
+# $3: new scm url
+updatePomVersionsAndCommit() {
+ for i in `find $1 -name "pom.xml"`; do
+ xmlstarlet ed -P -N x="http://maven.apache.org/POM/4.0.0" \
+ -u "/x:project/x:parent/x:version" -v $2 \
+ -u "/x:project/x:version" -v $2 \
+ -u "/x:project/x:scm/x:connection" -v scm:svn:$3 \
+ -u "/x:project/x:scm/x:developerConnection" -v scm:svn:$3 \
+ -u "/x:project/x:scm/x:url" -v $3 \
+ $i > tmp
+ mv tmp $i
+ done
+
+ svn commit $projectDirectory -m "Updating pom versions to $1 for release tagging"
+}
+
+################################################################################
+# Start script processing
+################################################################################
+
+while getopts ":e:r:d:u" opt; do
+ case $opt in
+ r)
+ releaseVersion=$OPTARG;;
+ d)
+ devVersion=$OPTARG;;
+ u)
+ performUpdate="true";;
+ e)
+ exportDirectory=$OPTARG;;
+ h)
+ echo $usage;;
+ \?)
+ echo $usage
+ exit 1;;
+ *)
+ echo $usage
+ exit 1;;
+ esac
+done
+
+if [ -z $releaseVersion ]; then
+ read -p "Enter the release version: " releaseVersion
+fi
+if [ -z $devVersion ]; then
+ read -p "Enter the development version: " devVersion
+fi
+
+projectName=`xmlstarlet sel -N x=http://maven.apache.org/POM/4.0.0 -t -v "/x:project/x:artifactId" pom.xml`
+if [ -z "$projectName" ]; then
+ echo "Could not determine propject name (misasing/incomplete pom?)."
+ exit;
+fi
+projectUrl=`svn info $projectDir | grep URL | awk '{print $2}'`
+tagUrl=`echo $projectUrl | sed 's|\(.*\)/.*$|\1/tags/|'`$projectName-$releaseVersion
+
+
+################################################################################
+# Confirm data
+
+echo "About to tag release with following information:"
+echo " tag version : $releaseVersion"
+echo " dev version : $devVersion"
+echo " dev url : $projectUrl"
+echo " tag url : $tagUrl"
+while true; do
+ read -p "Continue? " yn
+ case $yn in
+ [Yy]* ) break;;
+ [Nn]* ) exit;;
+ * ) echo "Please answer yes or no.";;
+ esac
+done
+
+################################################################################
+# Go, go , go
+
+if [ -n "$performUpdate" ]; then
+ echo "Performing requested svn update..."
+ svn update $projectDir
+fi
+
+updatePomVersionsAndCommit $projectDir $releaseVersion $tagUrl
+
+svn copy $projectUrl/ $tagUrl -m "Tagging $releaseVersion release"
+
+updatePomVersionsAndCommit $projectDir $devVersion $projectUrl
+
+if [ $exportDirectory ]; then
+ svn export $tagUrl $exportDirectory
+fi
11 years, 8 months
[hibernate/hibernate-validator] abf2f2: HV-656 Adding test case as per issue
by GitHub
Branch: refs/heads/master
Home: https://github.com/hibernate/hibernate-validator
Commit: abf2f23a4d237e07974de307c104db0a8a4d04be
https://github.com/hibernate/hibernate-validator/commit/abf2f23a4d237e079...
Author: Hardy Ferentschik <hibernate(a)ferentschik.de>
Date: 2012-12-10 (Mon, 10 Dec 2012)
Changed paths:
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/returnvaluevalidation/AtLeastOneContactProvided.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/returnvaluevalidation/ContactBean.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/returnvaluevalidation/ContactService.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/returnvaluevalidation/ContactServiceImpl.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/returnvaluevalidation/ReturnValueValidationTest.java
Log Message:
-----------
HV-656 Adding test case as per issue
Commit: 323b5f1bdfa8dbc239027b1a285490791b3fd762
https://github.com/hibernate/hibernate-validator/commit/323b5f1bdfa8dbc23...
Author: Hardy Ferentschik <hibernate(a)ferentschik.de>
Date: 2012-12-10 (Mon, 10 Dec 2012)
Changed paths:
M engine/src/main/java/org/hibernate/validator/internal/engine/MethodValidationContext.java
Log Message:
-----------
HV-656 Changing the order in the comparison to avoid NullPointerException
Commit: 938a68ba334da5d26b0da545f8a0ab9d1277aaf4
https://github.com/hibernate/hibernate-validator/commit/938a68ba334da5d26...
Author: Hardy Ferentschik <hibernate(a)ferentschik.de>
Date: 2012-12-10 (Mon, 10 Dec 2012)
Changed paths:
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/ConstructorValidationTest.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/IllegalMethodParameterConstraintsTest.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/MethodLevelValidationGroupSequenceTest.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/MethodLevelValidationTest.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/model/Address.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/model/Customer.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/service/ConsistentDateParameters.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/service/ConsistentDateParametersValidator.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/service/CustomerRepository.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/service/CustomerRepositoryImpl.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/service/CustomerRepositoryWithRedefinedDefaultGroup.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/service/CustomerRepositoryWithRedefinedDefaultGroupImpl.java
R engine/src/test/java/org/hibernate/validator/test/internal/engine/methodlevel/service/RepositoryBase.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/ConstructorValidationTest.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/IllegalMethodParameterConstraintsTest.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/MethodLevelValidationGroupSequenceTest.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/MethodLevelValidationTest.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/model/Address.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/model/Customer.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/service/ConsistentDateParameters.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/service/ConsistentDateParametersValidator.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/service/CustomerRepository.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/service/CustomerRepositoryImpl.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/service/CustomerRepositoryWithRedefinedDefaultGroup.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/service/CustomerRepositoryWithRedefinedDefaultGroupImpl.java
A engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/service/RepositoryBase.java
Log Message:
-----------
HV-656 Dropping the 'Level' in MethodLevelValidation. We generally only call it now method validation.
Compare: https://github.com/hibernate/hibernate-validator/compare/b5f3fed3716b...9...
11 years, 8 months