~ubuntu-branches/ubuntu/wily/libhibernate3-java/wily-proposed

« back to all changes in this revision

Viewing changes to changelog.txt

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2007-10-14 14:43:34 UTC
  • Revision ID: james.westby@ubuntu.com-20071014144334-eamc8i0q10gs1aro
Tags: upstream-3.2.5
ImportĀ upstreamĀ versionĀ 3.2.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Hibernate Changelog
 
2
===================
 
3
Note: Newer entries are automatically generated and the description might not
 
4
match the actual issue resolution (i.e. a bug might not be a bug). Please
 
5
refer to the particular case on JIRA using the issue tracking number to learn
 
6
more about each case.
 
7
 
 
8
 
 
9
Changes in version 3.2.5 (2007.07.31)
 
10
-------------------------------------------
 
11
 
 
12
** Bug
 
13
    * [HHH-1116] - batch-size typo
 
14
    * [HHH-1561] - Missing " in Documentation for H3, Chapter 15.8
 
15
    * [HHH-1569] - Immutable Natural Id check fails with ArrayIndexOutOfBounds in some cases
 
16
    * [HHH-1694] - Documentation Outdated: "10.4.4. Queries in native SQL"
 
17
    * [HHH-2180] - minordocumentation error in hbm xml
 
18
    * [HHH-2201] - session.iterate() does not exist
 
19
    * [HHH-2267] - A copy/paste mistake in the documentation for <schemavalidator> ant task
 
20
    * [HHH-2334] - Documentation error in section 5.1.3
 
21
    * [HHH-2420] - Error in 2.5. Contextual Sessions
 
22
    * [HHH-2502] - The second level caching documentation states that ehcache is not distributed.
 
23
    * [HHH-2631] - Leaking PreparedStatement and ResultSet via CollectionLoadContext instances maintained in Map collectionLoadContexts in LoadContexts
 
24
    * [HHH-2649] - Batcher configuration parameter incorrectly documented
 
25
    * [HHH-2711] - PropertyAccessException with backref and <composite-map-key/>
 
26
    * [HHH-2713] - duplicated phrase in docs "of the of the"
 
27
    * [HHH-2714] - Three typos in code examples
 
28
    * [HHH-2719] - adddress --> address
 
29
    * [HHH-2720] - Monetory --> Monetary
 
30
 
 
31
** Improvement
 
32
    * [HHH-1022] - incomplete documentation in _README.txt in the lib directory
 
33
    * [HHH-1682] - Improve the description of differences between save() and persist()
 
34
    * [HHH-2048] - Incomplete MappingException at org.hibernate.mapping.SimpleValue
 
35
    * [HHH-2417] - Update book on Hibernate reference
 
36
    * [HHH-2418] - Refer HSQL DB website in chapter 1.2.3
 
37
    * [HHH-2487] - Typo in "5.1.7. version (optional)"
 
38
    * [HHH-2550] - Update API Class in 10.4.3. Criteria queries
 
39
    * [HHH-2662] - Workaround PostgreSQL issues in testsuite
 
40
    * [HHH-2663] - Map java.sql.Types.REAL to Hibernate FloatType for auto-discovery stuff
 
41
    * [HHH-2665] - Split Oracle9Dialect into Oracle9iDialect and Oracle10gDialect
 
42
 
 
43
** Patch
 
44
    * [HHH-2520] - Miscellaneous config doc spelling fixes
 
45
    * [HHH-2630] - Hibernate Dialect is not auto-detected for Sybase ASE and DB2 (Shelley McGowan)
 
46
    * [HHH-2758] - Patch IngresDialect based on certification
 
47
 
 
48
** Task
 
49
    * [HHH-2551] - Deprecate org.hibernate.criterion.Expression
 
50
    * [HHH-2566] - Replace usages of FlushMode.NEVER with FlushMode.MANUAL
 
51
    * [HHH-2567] - Update reference to use FlushMode.MANUAL
 
52
    * [HHH-2568] - Hibernate javadoc overview refering wrong classes and packages
 
53
 
 
54
 
 
55
Changes in version 3.2.4.sp1 (2007.05.18)
 
56
-------------------------------------------
 
57
 
 
58
** Bug
 
59
    * [HHH-2605] - Since 3.2.4 no value specified for row id
 
60
    * [HHH-2613] - LockMode.FORCE on non versioned entity leads to NPE
 
61
 
 
62
 
 
63
Changes in version 3.2.4 (2007.05.09)
 
64
-------------------------------------------
 
65
 
 
66
** Bug
 
67
    * [HHH-511] - reattach object from same session
 
68
    * [HHH-2316] - org.hibernate.cache.CacheKey.equals() can cause PropertyAccessException to be thrown
 
69
    * [HHH-2553] - New LoadContexts Implementation causing possible performance degradation
 
70
    * [HHH-2602] - instrumented many-to-one problem with aggressive release
 
71
 
 
72
** Deprecation
 
73
    * [HHH-2603] - Deprecate the Session.connection() method
 
74
 
 
75
** Improvement
 
76
    * [HHH-2549] - Warn users explicitly about schemaexport and schemaupdate does not support annotations
 
77
 
 
78
** New Feature
 
79
    * [HHH-1] - Optimize Hibernate for the bulk insertion of related entities
 
80
 
 
81
** Patch
 
82
    * [HHH-2301] - Identity generator with custom insert SQL broken in 3.2 (Scott Rankin and Gail Badner)
 
83
    * [HHH-2336] - paremeterizable and typedef-able UserCollectionType (Holger Brands)
 
84
    * [HHH-2580] - Performace: Too many lookups of WAS extended transaction support (Jesper Udby)
 
85
 
 
86
 
 
87
Changes in version 3.2.3 (2007.04.02)
 
88
-------------------------------------------
 
89
 
 
90
** Bug
 
91
    * [HHH-2376] - Query with fully qualified entity class fails
 
92
    * [HHH-2392] - LockModes referencing non-root joined-subclass class in HQL/Criteria
 
93
    * [HHH-2393] - Generated properties leave open ResultSet on Batcher to be closed on transaction completion
 
94
    * [HHH-2397] - hilo generator can generate negative numbers because of arithmetic overflow
 
95
    * [HHH-2469] - ArrayIndexOutOfBoundsException during update by rowid
 
96
    * [HHH-2476] - PersistentMap.put() incorrect on uninitialized, non-extra-lazy map
 
97
    * [HHH-2481] - Big memory leak in the use of CGLIB
 
98
    * [HHH-2499] - incorrect assertion failure relating to generated property values
 
99
    * [HHH-2513] - Abusive WARN logged during deserialization of replicated SessionFactory
 
100
    * [HHH-2521] - Fix cascading of merge across component properties
 
101
    * [HHH-2532] - update/delete executeUpdate() causes problems with JBossCache (at least in opt-locking setups)
 
102
 
 
103
** Improvement
 
104
    * [HHH-2495] - encapsulate the notion of state pertaining to processing a result set
 
105
    * [HHH-2534] - better error message for illegal 'collection dereference' in HQL query
 
106
    * [HHH-2535] - Change Cache' Cache71Dialect so that sequence support returns false
 
107
 
 
108
** New Feature
 
109
    * [HHH-2471] - create a set of "enhanced" generators
 
110
    * [HHH-2500] - apply Terradata certification results
 
111
 
 
112
** Patch
 
113
    * [HHH-2367] - InformixDialect uses wrong data type
 
114
    * [HHH-2489] - SQL comments for HQL bulk operations
 
115
 
 
116
 
 
117
Changes in version 3.2.2 (2007.01.24)
 
118
-------------------------------------------
 
119
 
 
120
** Bug
 
121
    * [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.
 
122
    * [HHH-1646] - Bad code in FastClass.equals
 
123
    * [HHH-1889] - LockMode.UPGRADE not applied in all cases for SQL Server / Sybase
 
124
    * [HHH-2112] - ClassCastException in StatefulPersistenceContext.getCachedDatabaseSnapshot(...)
 
125
    * [HHH-2221] - MySQL temp table DDL and isolation
 
126
    * [HHH-2238] - SQLQuery executeUpdate doesn't respect Query.setFlushMode()
 
127
    * [HHH-2251] - Settings build unnecessary in schemaupdate/schemavalidate
 
128
    * [HHH-2257] - Query.iterate() results differ from Query.list() 2
 
129
    * [HHH-2259] - autoflush and autoclose not longer occur in JTA environment with hibernate 3.2
 
130
    * [HHH-2264] - NPE when NamedQuery contains space before variable name
 
131
    * [HHH-2274] - Collection ordering when many to many order by is used is not respected
 
132
    * [HHH-2275] - Mapping a composite element as a map key using formulas can lead to AOOBE
 
133
    * [HHH-2284] - HQL: selecting components inside components doesn't work
 
134
    * [HHH-2291] - collection based on property-ref not handled correctly during reattch
 
135
    * [HHH-2292] - merge detached instance fails to persist collection changes in case of bare collection reference
 
136
    * [HHH-2356] - NullableType.toString(Object) should account for nulls
 
137
    * [HHH-2366] - Changing a component's value does not trigger an update during flush
 
138
    * [HHH-2378] - replicate() of non-versioned entiy can result in wrong value for version in entity cache
 
139
 
 
140
** Improvement
 
141
    * [HHH-1851] - relax special handling of 'id' property
 
142
    * [HHH-2130] - SQLQuery does not autoflush all entities used in the query
 
143
    * [HHH-2193] - Introduce a flag to avoid checking NamedQuery at startup
 
144
    * [HHH-2242] - Consider Allowing Optimistic Lock Strategies other than 'Version' with joined-subclass
 
145
    * [HHH-2250] - Create an appropriate error message if Query.setEntity is passed a NULL value
 
146
    * [HHH-2282] - PersistentClass property lookups do not properly account for embedded composite identifiers
 
147
    * [HHH-2286] - dialect informational metadata
 
148
    * [HHH-2372] - Allow tooling to create Settings via SettingsFactory without contacting the db
 
149
 
 
150
** New Feature
 
151
    * [HHH-2246] - No way to specify CACHE_PROVIDER_CONFIG in HibernateServiceMBean
 
152
 
 
153
** Patch
 
154
    * [HHH-2300] - Updated dialect for H2 database engine
 
155
    * [HHH-2371] - enhancements to C3P0ConnectionProvider
 
156
 
 
157
** Task
 
158
    * [HHH-2032] - update c3p0 to 0.9.1
 
159
 
 
160
 
 
161
 
 
162
Changes in version 3.2.1 (2006.11.16)
 
163
-------------------------------------------
 
164
 
 
165
** Bug
 
166
    * [HHH-939] - 'class' property in HQL results in incorrect SQL for joined-subclass
 
167
    * [HHH-1401] - session.merge() executes unnecessary updates when one-to-many relationship is defined.
 
168
    * [HHH-1460] - Inconsistent behavior when using Session.get() with multiple subclasses
 
169
    * [HHH-1564] - deleting versioned object with collection leads to unecessary update
 
170
    * [HHH-1629] - SchemaUpdate/validator doesn't listen to quoting
 
171
    * [HHH-1631] - Missing table in SQL from clause that is referenced in where clause when using joined subclass
 
172
    * [HHH-1651] - hibernate does not find an existing sequence from an Oracle database
 
173
    * [HHH-1663] - <any/> with collection will produce "AssertionFailure: collection was not processed by flush()"
 
174
    * [HHH-1737] - Add a ConnectionWrapper interface to allow access to the underlying connection from a BorrowedConnectionProxy
 
175
    * [HHH-1756] - Proxy objects are not removed from the BatchFetchQueue during a session evict
 
176
    * [HHH-1774] - Component parameters bound incorrectly
 
177
    * [HHH-1921] - "dirty, but no dirty properties" thrown when Interceptor resets properties.
 
178
    * [HHH-1986] - javassist throws InvocationTargetException instead of original checked Exception
 
179
    * [HHH-2027] - merge listener over-writes Interceptor changes to component state for a transient entity
 
180
    * [HHH-2044] - DefaultMergeEventListener.entityIsDetached call StaleObjectStateException with wrong identifier
 
181
    * [HHH-2082] - UpdateTimestampsCache.isUpToDate returns before checking all spaces
 
182
    * [HHH-2108] - cacheable files broken
 
183
    * [HHH-2138] - merge with bidirectional one-to-one may fail
 
184
    * [HHH-2145] - set.retainAll calling set.addAll
 
185
    * [HHH-2174] - Wrong log message in SessionImpl.afterTransactionCompletion(...)
 
186
    * [HHH-2199] - Unique constraints on nullable columns should not be generated with unique-key is used and supportsNotNullUnique=false
 
187
    * [HHH-2202] - Clearing the connection warnings even when log is > WARN to workaround a Sybase issue
 
188
    * [HHH-2206] - SessionImpl tries to deserialize itself in an incorrect order
 
189
    * [HHH-2207] - Suggested fix for HQL - MySQL setMaxResults issue
 
190
    * [HHH-2226] - org.hibernate.hql.ast.tree.FromElementType contains warning log message that should be debug instead
 
191
    * [HHH-2229] - Performance issue with fix for HHH-1293, CGLIBLazyInitializer may be slower for certain Java classes
 
192
    * [HHH-2236] - Lazy property + setReadOnly + Instrumented classes results in NullPointerException when accessing lazy property
 
193
 
 
194
** Improvement
 
195
    * [HHH-2037] - provide Query.setProperties(Map)
 
196
    * [HHH-2042] - Typo in FlushMode.MANUAL Javadoc
 
197
    * [HHH-2057] - Add "remove" cascading style to CascadeStyle for XML mappings
 
198
    * [HHH-2127] - Document <filter-def condition="defaultCondition"> and <filter-def>defaultCondition
 
199
    * [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.
 
200
    * [HHH-2185] - introduce setting to control cglib caching of classes
 
201
    * [HHH-2203] - Make Post*Events extend AbstractEvent
 
202
    * [HHH-2208] - Table schema use in DatabaseMetadata
 
203
    * [HHH-2209] - ehcache.jar is old and does not contain the SingletonCacheProvider which are advised in exception messages
 
204
    * [HHH-2217] - Collection write methods and dirtying the collection
 
205
 
 
206
** New Feature
 
207
    * [HHH-2205] - Dialect for Intersystems' Cache SQL 2007.1
 
208
 
 
209
** Patch
 
210
    * [HHH-1767] - read-only cache for immutable collection causes unnecessary warning
 
211
 
 
212
** Task
 
213
    * [HHH-2219] - Upgrade to Javassist 3.4
 
214
 
 
215
 
 
216
Changes in version 3.2.0.ga (16.10.2006)
 
217
-----------------------------------------
 
218
(retag of 3.2.0.ga (2006.10.16))
 
219
 
 
220
Changes in version 3.2.0.cr5 (04.10.2006) 
 
221
-------------------------------------------
 
222
 
 
223
** Bug
 
224
    * [HHH-1668] - PersistentSet write methods mark collection as dirty even if entry is not written
 
225
    * [HHH-1714] - Session.get() behavior
 
226
    * [HHH-1891] - Since rc3 deprecation Warning: The syntax 'TYPE=storage_engine' is deprecated and will be removed in MySQL 5.2.
 
227
 
 
228
** Improvement
 
229
    * [HHH-2093] - PERSIST_ON_FLUSH ineffective for recursive object graphs
 
230
    * [HHH-2103] - Rolling back 'SELECT is mandatory' on JPA strict compliance
 
231
 
 
232
** Task
 
233
    * [HHH-1931] - verify that the instrument tasks actually work
 
234
 
 
235
 
 
236
Changes in version 3.2.0.cr4 (24.08.2006)
 
237
-------------------------------------------
 
238
 
 
239
** Bug
 
240
    * [HHH-1293] - java.lang.NoSuchMethodError: <persistent class>.getHibernateLazyInitializer()
 
241
    * [HHH-1677] - optimistic-lock="dirty|all" is ignored at delete time
 
242
    * [HHH-1710] - persistent collections with property-ref to secondary tables cannot be joined in HQL
 
243
    * [HHH-1713] - AbstractEntityPersister causes an exception when a row in a joined table is missing with fetch="select"
 
244
    * [HHH-1740] - Build-time instrumentation breaks lazy="proxy"
 
245
    * [HHH-1750] - Exception ORA-01000 too many open cursors by generated="insert"
 
246
    * [HHH-1806] - No Dialect mapping for JDBC type: 3
 
247
    * [HHH-1848] - A session.lock generates a query with a version column in a joined subclass which does not exist
 
248
    * [HHH-1892] - finish HHH-1789 for ordered and sorted collections
 
249
    * [HHH-1898] - With hibernate 3.2.0-cr3 there is an hql parsing error on a one-to-one relation
 
250
    * [HHH-1924] - ForeignKeys: TransientObjectException is thrown without a message because of a wrong bracket in the code
 
251
    * [HHH-1927] - persist() and then merge() not handled correctly for multiple entity instances representing the same logical state
 
252
    * [HHH-1937] - Proxy creation failure leads to NPEs
 
253
    * [HHH-1943] - PersistenceContext not checked to see whether the associated entity is transient or not
 
254
    * [HHH-1944] - generated subqueries and jpaql compliance (derived select clause) check
 
255
    * [HHH-1947] - OF part of MEMBER  OF is optional
 
256
    * [HHH-1948] - Query Idetification variables are case insensitive in JPA
 
257
    * [HHH-1949] - having trim(BOTH from c.name) translated into having ltrim(rtrim(BOTH)) on DB2
 
258
    * [HHH-1954] - Proxies are never unassociated (evicted) from a session
 
259
    * [HHH-1958] - session.lock(LockMode.FORCE) can lead to NPE
 
260
    * [HHH-1963] - meta inheritance broken
 
261
    * [HHH-1992] - Some cascade actions should not trigger a property access on lazy properties
 
262
    * [HHH-2001] - javaassist does not setup the proper protection domain thus does not work with signed/secured deployments such as webstart
 
263
    * [HHH-2015] - where= does not set parenthesis leading to unexpected query when multiclause are used
 
264
    * [HHH-2017] - locate function defined on Oracle9Dialect is incorrect
 
265
    * [HHH-2022] - property names beginning with underscores cause Hibernate to generate invalid aliases
 
266
 
 
267
** Improvement
 
268
    * [HHH-1470] - Enhance Hibernate-Mapping DTD Definition of type element
 
269
    * [HHH-1934] - logging NonUniqueObjectException and WrongClassException
 
270
    * [HHH-1941] - Be more specific about x not found and invalid mapping exceptions to allow tools to tell about it
 
271
    * [HHH-1968] - unify bytecode instrumentation
 
272
    * [HHH-1980] - disallow the mapping combination of <version/> and optimistic-lock
 
273
    * [HHH-2005] - more standard build script
 
274
    * [HHH-2023] - performance optimization of JTATransactionFactory.isTransactionInProgress()
 
275
 
 
276
** Patch
 
277
    * [HHH-1271] - When using Stored Procedure for update or delete, the check is not done correctly.
 
278
 
 
279
** Task
 
280
    * [HHH-1931] - verify that the instrument tasks actually work
 
281
 
 
282
 
 
283
Changes in version 3.2 cr3 (06.07.2006)
 
284
-------------------------------------------
 
285
 
 
286
** Bug
 
287
    * [HHH-1452] - Native SQL query is missing join if entity includes many-to-one on secondary table
 
288
    * [HHH-1507] - one-to-one can have formula or meta but not both of them.
 
289
    * [HHH-1552] - Error when using ?1 and parameterList
 
290
    * [HHH-1586] - ClassCastException in CollectionType.toLoggableString if using CustomCollectionType
 
291
    * [HHH-1732] - EhCache.toMap still assumes Serializable objects
 
292
    * [HHH-1734] - Connection leak when using hilo strategy in SE environment
 
293
    * [HHH-1741] - Bug in reference documentation
 
294
    * [HHH-1746] - NullPointerException at IdentNode.resolveAsNakedComponentPropertyRefLHS(IdentNode.java:195
 
295
    * [HHH-1748] - Setting a comment that contains a single quote on a query results in an unintuitive exception
 
296
    * [HHH-1763] - Bug in InputStream org.hibernate.util.ConfigHelper.getResourceAsStream(String resource)
 
297
    * [HHH-1791] - property update="false" ignored since 3.2.0.cr2
 
298
    * [HHH-1816] - serializing session from a named session factory to a different vm broken
 
299
    * [HHH-1822] - flushing entity linked to transient instance (non cascaded) should always fail
 
300
    * [HHH-1828] - registering a transaction marked for Rollback is illegal
 
301
    * [HHH-1833] - Not Generating HibernateException
 
302
    * [HHH-1838] - Wrong SQL generated for hql query on "any" relation
 
303
    * [HHH-1855] - booleans not properly handled in assignment clause of UPDATE statements
 
304
    * [HHH-1858] - wrong sql generated against many-to-any association table
 
305
    * [HHH-1871] - query type autodiscovery assume wrong column when mixing entities and scalars
 
306
 
 
307
** Deprecation
 
308
    * [HHH-1792] - Callable update/insert/delete statements should not force rowcount out parameter
 
309
 
 
310
** Improvement
 
311
    * [HHH-1617] - Check the second-level cache before adding a PK to a batch fetch
 
312
    * [HHH-1773] - Typo in ImprovedNamingStrategy
 
313
    * [HHH-1779] - Allow Session.remove() on transient object
 
314
    * [HHH-1789] - improve efficiency of collection initialization from L2 cache hits
 
315
    * [HHH-1795] - default cache provider to NoCacheProvider
 
316
    * [HHH-1796] - TreeCache based providers and Fqn
 
317
    * [HHH-1800] - session.get() / load() should raise exception when the id is of the wrong type
 
318
    * [HHH-1818] - remove() should force subsequent contains() calls to return false
 
319
    * [HHH-1831] - Batch loading the same EntityKey (one side of manytoone ) more than once
 
320
    * [HHH-1861] - More complete component handling in HQL
 
321
    * [HHH-1881] - introduce LoggableUserType interface
 
322
 
 
323
** New Feature
 
324
    * [HHH-1709] - Be able to raise ENFE rather than LIE in proxies
 
325
    * [HHH-1727] - Add a SQLFunctionRegistry
 
326
    * [HHH-1817] - Introduce setting for JPA-QL strict compliance
 
327
    * [HHH-1826] - Built-in type for char[] -> VARCHAR Byte[] and Character[]
 
328
 
 
329
** Patch
 
330
    * [HHH-1558] - Dialect for new database engine H2
 
331
    * [HHH-1847] - QBE 'like' clause with backslashes don't work with MySQL
 
332
 
 
333
** Task
 
334
    * [HHH-1839] - rename FlushMode.NEVER -> FlushMode.MANUAL
 
335
 
 
336
 
 
337
Changes in version 3.2 cr2 (05.05.2006)
 
338
-------------------------------------------
 
339
 
 
340
** Bug
 
341
    * [HHH-1114] - The first (HSQL) Hibernate Application doesn't work as expected due to lack of database shutdown
 
342
    * [HHH-1175] - Exception when loading inheritance mapping in single file
 
343
    * [HHH-1560] - PropertiesHelper.resolvePlaceHolders() fails with non-String values in System properties
 
344
    * [HHH-1620] - Errors on max_lo <=1 boundaries
 
345
    * [HHH-1625] - Hibernate.isPropertyInitialized() returns false on instrumented transient object
 
346
    * [HHH-1648] - Exception while resuming a transaction is silently eaten
 
347
    * [HHH-1674] - Configuration serialization error: filterDefinitions map not serializable
 
348
    * [HHH-1695] - subsequent calls to non-existent proxy causes NPE
 
349
 
 
350
** Improvement
 
351
    * [HHH-1266] - StatelessSession can implement refresh
 
352
    * [HHH-1414] - many-to-many and metadata order-by based on column from the target table
 
353
    * [HHH-1477] - Improve naming strategy for ANN-195
 
354
    * [HHH-1538] - aggregations functions in EJBQL queries does not return the appropriate types
 
355
    * [HHH-1670] - Update EhCache and EhCache provider to support EhCache 1.2
 
356
    * [HHH-1704] - Deduplicate unique constraints generation sharing the same column(s)
 
357
 
 
358
** New Feature
 
359
    * [HHH-870] - support SQL updates in named queries
 
360
    * [HHH-1591] - Replace LazyInitializationException by EntityNotFoundException
 
361
    * [HHH-1719] - Provide a ClassTransformer interface to the BytecodeProvider
 
362
 
 
363
 
 
364
Changes in version 3.2 cr1 (27.03.2006)
 
365
-------------------------------------------
 
366
 
 
367
** Bug
 
368
    * [HHH-1453] - Broken exception handling in NullableType
 
369
 
 
370
** Improvement
 
371
    * [HHH-227] - remove reflection optimizer
 
372
    * [HHH-587] - Make ResultTransformer available for all query methods
 
373
    * [HHH-1588] - delay inserts for insert-generated-identifiers outside transaction
 
374
    * [HHH-1590] - redesign how PostInsertIdentifierGenerators are handled at insertion
 
375
    * [HHH-1592] - allow SelectGenerator to use a defined natural-id (if one)
 
376
 
 
377
** New Feature
 
378
    * [HHH-332] - create ability to add resulttransformer to HQL query
 
379
    * [HHH-1179] - support inline sequence id generation on Oracle using RETURNING clause
 
380
 
 
381
 
 
382
Changes in version 3.2 alpha2 (15.03.2006)
 
383
-------------------------------------------
 
384
 
 
385
** Bug
 
386
    * [HHH-535] - properties element causes exception in interface/abstract class
 
387
    * [HHH-1325] - ArrayOutOfBounds expected in DatabaseMetadata.isTable when specifing schema
 
388
    * [HHH-1435] - many-to-one lazy seems to be broken in 3.1.x
 
389
    * [HHH-1531] - NPE with many-to-many and property-ref
 
390
    * [HHH-1546] - generated version properties fail with multiple actions per flush
 
391
 
 
392
** Improvement
 
393
    * [HHH-1540] - Better Error Feedback In CollectionEntry.postFlush(PersistentCollection)
 
394
    * [HHH-1555] - ConnectionReleaseMode.AFTER_STATEMENT and flushes
 
395
    * [HHH-1559] - introduce TransactionFactory.isTransactionInProgress to facilitate EJB3 joinTransaction handling
 
396
 
 
397
 
 
398
Changes in version 3.2 alpha1 (28.02.2006)
 
399
-------------------------------------------
 
400
 
 
401
** Bug
 
402
    * [HHH-687] - Exception QuerySyntaxError not really serializable
 
403
    * [HHH-1236] - Remove static reference to classloader, to avoid memory leak at webapp reload
 
404
    * [HHH-1287] - Problem with WAS ExtendedJTATransaction not available when using MDB
 
405
    * [HHH-1419] - Update + Exists doesn't seem to work
 
406
    * [HHH-1445] - SchemaUpdate closes shared ConnectionProvider
 
407
    * [HHH-1464] - QueryException from Query.getReturnAliases when query uses "fetch"
 
408
    * [HHH-1486] - Concurrent access issues with both SoftLimitMRUCache and SimpleMRUCache
 
409
    * [HHH-1508] - Session.createQuery() should not flush the session
 
410
 
 
411
** Improvement
 
412
    * [HHH-1411] - Collection fetches and DISTINCT
 
413
    * [HHH-1412] - Collection fetches and firstResult/maxRows
 
414
    * [HHH-1416] - LockMode.FORCE to implement EJB3 LockModeType.WRITE
 
415
    * [HHH-1457] - support new optimisitc locking capabilities of JBossCache
 
416
    * [HHH-1466] - better handling of Antlr exceptions
 
417
    * [HHH-1516] - support DataDirect standard jdbc stored procedures
 
418
    * [HHH-1518] - Guarentee LockMode behaviors
 
419
    * [HHH-1520] - with clause with implied joins within an explicit join
 
420
    * [HHH-1526] - Improved DTDEntityResolver
 
421
 
 
422
** New Feature
 
423
    * [HHH-1251] - Avoid replicating the clearing of TreeCache on SessionFactory..close()
 
424
    * [HHH-1410] - FlushMode.AUTO -> COMMIT when outside a transaction
 
425
    * [HHH-1447] - pluggable bytecode libraries
 
426
 
 
427
 
 
428
Changes in version 3.1.2 (27.01.2006)
 
429
-------------------------------------------
 
430
 
 
431
** Bug
 
432
    * [HHH-73] - Statistics for HQL queries use pre-processed query string
 
433
    * [HHH-1306] - HQL parsing problem with join fetching of arrays/collections of values
 
434
    * [HHH-1370] - Warning in hibernate-mapping-3.0.dtd
 
435
    * [HHH-1371] - MappingException is thrown when the same column is referenced with different case
 
436
    * [HHH-1386] - Numeric (long) literals not properly handled by HQL parser
 
437
    * [HHH-1390] - Session.isOpen() throws exeception when the session is closed with ThreadLocalSessionContext
 
438
    * [HHH-1391] - Invalid parameter index SQLException when using named parameters after positional parameters
 
439
    * [HHH-1392] - Proxies cannot be serialized after session is closed
 
440
    * [HHH-1398] - extends and entity-names broken with mapping-level package attribute
 
441
    * [HHH-1407] - return-join broken for entity collections
 
442
 
 
443
** Improvement
 
444
    * [HHH-1364] - Defensive check of isClosed when obtaining a connection from ConnectionManager
 
445
    * [HHH-1367] - warn level log "this operation breaks ==" may be disturbing
 
446
 
 
447
** New Feature
 
448
    * [HHH-1372] - Support for MySQL5 new varchar length
 
449
 
 
450
** Patch
 
451
    * [HHH-1005] - Criteria LEFT JOIN capability when adding Order to associations
 
452
 
 
453
** Task
 
454
    * [HHH-1373] - Document update versioned
 
455
 
 
456
 
 
457
Changes in version 3.1.1 (13.01.2006)
 
458
-------------------------------------------
 
459
 
 
460
** Bug
 
461
    * [HHH-853] - DML-style HQL queries and associations
 
462
    * [HHH-1281] - FORWARD_ONLY ScrollableResults#next() throw GenericJDBCException
 
463
    * [HHH-1286] - Set entity in HQL query without prefix -> incorrect SQL
 
464
    * [HHH-1308] - Session.createFilter(...).iterate() results in bogus column names for result set extraction
 
465
    * [HHH-1314] - float/double literals not sent to the database correctly
 
466
    * [HHH-1316] - SchemaUpdate : java.sql.SQLException: You cannot commit during a managed transaction!
 
467
    * [HHH-1328] - org.hibernate.util.SimpleMRUCache keeps a soft reference to the cache key, so cached values get collected prematurely
 
468
    * [HHH-1336] - ForeignGenerator does not handle transient entities with an entity-name properly
 
469
    * [HHH-1337] - Mapped <component> generated column names incorrect with ImprovedNamingStrategy
 
470
    * [HHH-1349] - HQL delete statement problem due to oracle lacking table aliases in delete clause
 
471
    * [HHH-1361] - creating temporary table for bulk delete will commit current transaction in managed environment such as J2EE
 
472
 
 
473
** Improvement
 
474
    * [HHH-1019] - Native SQL return-property mapping doesn't support dot-syntax in return-property for components
 
475
    * [HHH-1290] - Defensive checking of session status
 
476
    * [HHH-1302] - query.getReturnTypes inconsistent
 
477
    * [HHH-1304] - better handling of borrowed connections in non-ON_CLOSE release semantics
 
478
    * [HHH-1309] - schemaupdate does not handle TableHiLoGenerator
 
479
    * [HHH-1339] - empty property name in mapping file gives imcomprehensible error message
 
480
    * [HHH-1344] - ANSI-SQL trim function for SQLServer
 
481
    * [HHH-1345] - ANSI-SQL mod function for SQLServer
 
482
    * [HHH-1346] - ANSI-SQL bit_length function for SQLServer
 
483
    * [HHH-1351] - <return-scalar name="blah"/> should be possible
 
484
    * [HHH-1360] - set autodiscovery flag for SQLQueries when resultsetmappings are used
 
485
 
 
486
 
 
487
Changes in version 3.1  (12.12.2005)
 
488
-------------------------------------------
 
489
 
 
490
** Bug
 
491
    * [HHH-849] - Cartesian product + implicit joins
 
492
    * [HHH-1065] - user provided connection not usable by default due to agressive release changes
 
493
    * [HHH-1101] - associations join fetched in HQL without owner being selected
 
494
    * [HHH-1133] - Comparators, defined for collections in mapping files, are not set
 
495
    * [HHH-1149] - NPE flushing reattached entity  w/ non-mutable natural-id
 
496
    * [HHH-1170] - HQL 'cast' function doesn't work with MySQL 4 when casting to string
 
497
    * [HHH-1187] - Cannot delete a object having a delete-orphan collection when user_rollback_id is set
 
498
    * [HHH-1191] - HQL fails backward compatibility using classic translator
 
499
    * [HHH-1194] - hql delete statements with joined-subclass hierarchies with a mapped where attribute at the root
 
500
    * [HHH-1206] - Mappings.TableDescription is not serializable
 
501
    * [HHH-1212] - mismatch in entity-modes defined in DTD and EntityMode class
 
502
    * [HHH-1227] - ClassCastException on DOM4J replicate of Calendar property
 
503
    * [HHH-1239] - BinaryArithmeticOperatorNode.getDataType() does not properly handle date/time arithmetic
 
504
    * [HHH-1240] - Track connection leakage in JDBCContext.afterTransactionCompletion()
 
505
    * [HHH-1245] - Calling the Session should register it with the current JTA txn.
 
506
    * [HHH-1254] - Serialization of Sessions using JDBCTransactions with auto-flush/auto-close
 
507
 
 
508
** New Feature
 
509
    * [HHH-1222] - Autodiscover scalar types in native-sql
 
510
    * [HHH-1243] - allow placeholders to system properties in config properties
 
511
    * [HHH-1244] - Support for MySQL5 stored procedures
 
512
    * [HHH-1260] - Configuration.mergeProperties()
 
513
 
 
514
** Task
 
515
    * [HHH-1066] - Upgrade CGLIB to fix proxy memory leak
 
516
    * [HHH-1242] - upgrade ANTLR to 2.7.6rc1
 
517
 
 
518
** Improvement
 
519
    * [HHH-860] - insert ... select ... and version numbers
 
520
    * [HHH-926] - TypeDef should be global
 
521
    * [HHH-1138] - No ConstraintName when using PostgreSQL
 
522
    * [HHH-1144] - Implement naming convention for temporary test failures
 
523
    * [HHH-1153] - PropertiesHelper fails reading primitive values from hibernate-mapping when doc has whitespace
 
524
    * [HHH-1182] - Access to filter metadata
 
525
    * [HHH-1183] - Getting sql "plan" for DML operations
 
526
    * [HHH-1197] - Support for HQL delete on MaxDB
 
527
    * [HHH-1198] - post-insert event pass the entity wo the id field filled when the generator is identity
 
528
    * [HHH-1213] - make JACC event listeners auto configurable (through initialize(Configuration))
 
529
    * [HHH-1215] - Added support for LVARCHAR in InformixDialect
 
530
    * [HHH-1218] - Add concat() function support to SAPDBDialect
 
531
    * [HHH-1255] - ThreadLocalSessionContext and Session serialization
 
532
 
 
533
** Patch
 
534
    * [HHH-967] - executeUpdate on StatelessSession
 
535
    * [HHH-1172] - Missing configuration templates for the new MimerSQLDialect
 
536
 
 
537
** Deprecation
 
538
    * [HHH-1229] - deprecate ability for entities to not define identifier properties
 
539
 
 
540
 
 
541
Changes in version 3.1 rc3  (17.11.2005)
 
542
-------------------------------------------
 
543
 
 
544
** Bug
 
545
    * [HHH-755] - Setter / Getter for property gDate are wrong
 
546
    * [HHH-764] - XML mapping
 
547
    * [HHH-1034] - The connection is closed  *outside* the JTA transaction in TransactionHelper
 
548
    * [HHH-1062] - java:comp/UserTransaction not correct for JBoss
 
549
    * [HHH-1064] - Exception using JTATransaction in WebSphere 6
 
550
    * [HHH-1069] - Unnecessary commas generated in select with left outer joins
 
551
    * [HHH-1075] - New parser  "not exists" command bug
 
552
    * [HHH-1077] - Typo in docs: "equiped"
 
553
    * [HHH-1080] - HQL delete fails on entities with where-fragments using operators other than '='
 
554
    * [HHH-1081] - missing parens in example code for Criteria Associations
 
555
    * [HHH-1084] - incorrect method name "sql" in Restrictions example, should be "sqlRestriction"
 
556
    * [HHH-1091] - Can't write transparent CurrentSessionContext for BMT
 
557
    * [HHH-1098] - Patch for build.sh to be able to build latest version on linux
 
558
    * [HHH-1106] - HQL "not in" generatad wrong SQL
 
559
    * [HHH-1111] - JDBCTransaction.rollback() results in a call to Interceptor.beforeTransactionCompletion()
 
560
    * [HHH-1128] - Column alias clashes under  certain circumstances
 
561
    * [HHH-1146] - latest cvs(11/10/05)  hibernate3 issue with classic query
 
562
    * [HHH-1156] - StatefulPersistenceContext not serializable when property-ref is used
 
563
    * [HHH-1160] - Incorrect use of getGeneratedKey() for Oracle
 
564
 
 
565
** New Feature
 
566
    * [HHH-449] - korean hibernate reference manual
 
567
    * [HHH-1129] - use expected-type in 'untyped' Query.setParameter()
 
568
 
 
569
** Improvement
 
570
    * [HHH-221] - Proxy for one-to-one with property-ref
 
571
    * [HHH-844] - move parameter "bookkeeping" into QueryTranslator
 
572
    * [HHH-1051] - "Compiled" native SQL queries are not cached
 
573
    * [HHH-1061] - import.sql should allow more human readable and usable files
 
574
    * [HHH-1078] - <dynamic-component> requires type on property
 
575
    * [HHH-1120] - Make NamingStrategy to work nicely with HA and EJB3 naming strategy
 
576
    * [HHH-1142] - added getSelectSequenceNextValString() and getCurrentTimestampSelectString() to TimesTenDialect
 
577
 
 
578
** Patch
 
579
    * [HHH-1063] - support for 'locate' function in SQLServer and Sybase dialects
 
580
    * [HHH-1090] - Allow subqueries on criteria to obtain non-string results
 
581
    * [HHH-1095] - Hibernate takes incorrect HasCode when a lot of CompositeKeys and Lazy loading is involved
 
582
    * [HHH-1103] -  finalize method filter for proxies
 
583
    * [HHH-1136] - more meaningful AssertionFailure message in org.hibernate.persister.entity.JoinedSubclassEntityPersister.getTableId(...)
 
584
 
 
585
 
 
586
Changes in version 3.1 rc2  (17.10.2005)
 
587
-------------------------------------------
 
588
** Bug
 
589
    * [HHH-1045] - Example contains inner classes that aren't serializable
 
590
    * [HHH-1055] - optimistic-lock is not inherited from class to subclass et.al.
 
591
 
 
592
** Improvement
 
593
    * [HHH-702] - auto detect aliasing for collection properties (coll.key, coll.id etc.)
 
594
    * [HHH-1038] - make 'auto' the default for hibernate.connection.release_mode
 
595
    * [HHH-1042] - determine "expected type" of parameters during HQL parsing
 
596
 
 
597
 
 
598
Changes in version 3.1 rc1  (07.10.2005)
 
599
-------------------------------------------
 
600
** Bug
 
601
    * [HHH-528] - component.manyToOne.id in HQL causes join
 
602
    * [HHH-871] - Configuration.setListener(String type, Object listener) throws ClassCastException
 
603
    * [HHH-873] - referencing raw HQL FromElement alias outide the from clause of update and delete statements generates incorrect sql
 
604
    * [HHH-876] - PreparedStatement being closed before being executed by AbstractBatcher
 
605
    * [HHH-884] - SchemaExport does not propagate parent indexes to <union-subclass> tables
 
606
    * [HHH-887] - Aggressive release and Session.connection()
 
607
    * [HHH-893] - custom tuplizer are not instantiated for components
 
608
    * [HHH-905] - $PlaceHolder$ remains in generated SQL when filter is enabled
 
609
    * [HHH-907] - optimistic-lock="false" for timestamped object results in SQLException: Invalid column index
 
610
    * [HHH-908] - CLONE -NullPointerException when using BigInteger in a query
 
611
    * [HHH-911] - CGLIBLazyInitializer and Exceptions
 
612
    * [HHH-913] - NPE in CMTTransaction since javax.transaction.Transaction is never set
 
613
    * [HHH-918] - impossible to move objects to another session
 
614
    * [HHH-924] - Useless OracleErrorCodeConverter (and possibly others)
 
615
    * [HHH-932] - HQL UPDATE and <union-subclass>
 
616
    * [HHH-946] - QuerySyntaxException might not be serializable
 
617
    * [HHH-964] - ORA-00936 with joined subclass / Oracle
 
618
    * [HHH-986] - Need to check Thread.currentThread().getContextClassLoader() in ConfigHelper
 
619
    * [HHH-991] - Cannot use comparator class
 
620
    * [HHH-1000] - varchar(xxx char) not supported on Oracle8i
 
621
 
 
622
** New Feature
 
623
    * [HHH-950] - interface for SessionFactory.getCurrentSession() handling
 
624
 
 
625
 
 
626
** Improvement
 
627
    * [HHH-608] - update HSQLDialect for HSQL 1.8 sequence support
 
628
    * [HHH-889] - Add read-only cache-mode comment in <query and <sql-query
 
629
    * [HHH-898] - OracleDialect UTF8 varchar2
 
630
    * [HHH-909] - Onquoted primary key in IncrementGenerator
 
631
    * [HHH-988] - generated="never|insert|always"
 
632
    * [HHH-989] - add discussion of implicit and explcit joins
 
633
    * [HHH-1011] - Make disconnect/reconnect of a Session implicit
 
634
 
 
635
** Patch
 
636
    * [HHH-994] - Sybase/SQLServer support for temporary tables
 
637
 
 
638
 
 
639
Changes in version 3.1 beta 3  (13.09.2005)
 
640
-------------------------------------------
 
641
** Bug
 
642
    * [HHH-528] - component.manyToOne.id in HQL causes join
 
643
    * [HHH-871] - Configuration.setListener(String type, Object listener) throws ClassCastException
 
644
    * [HHH-873] - referencing raw HQL FromElement alias of update and delete statements
 
645
    * [HHH-876] - PreparedStatement being closed before being executed by AbstractBatcher
 
646
    * [HHH-884] - SchemaExport does not propagate parent indexes to <union-subclass> tables
 
647
    * [HHH-887] - Aggressive release and Session.connection()
 
648
    * [HHH-893] - custom tuplizer are not instantiated for components
 
649
    * [HHH-905] - $PlaceHolder$ remains in generated SQL when filter is enabled
 
650
    * [HHH-907] - optimistic-lock="false" for timestamped object results in SQLException: Invalid column index
 
651
    * [HHH-908] - NullPointerException when using BigInteger in a query
 
652
    * [HHH-911] - CGLIBLazyInitializer and Exceptions
 
653
    * [HHH-913] - NPE in CMTTransaction since javax.transaction.Transaction is never set
 
654
    * [HHH-918] - impossible to move objects to another session 
 
655
    * [HHH-924] - Removed ErrorCodeConverters
 
656
    * [HHH-946] - QuerySyntaxException might not be serializable
 
657
 
 
658
** Improvement
 
659
    * [HHH-898] - OracleDialect UTF8 varchar2
 
660
    * [HHH-909] - Unquoted primary key in IncrementGenerator
 
661
 
 
662
 
 
663
Changes in version 3.1 beta 2 (16.08.2005)
 
664
-------------------------------------------
 
665
** Bug
 
666
    * [HHH-477] - Boolean discriminators generate invalid SQL for PostgreSQL dialect
 
667
    * [HHH-480] - SchemaExportTask ignores some properties not defined in hibernate.properties
 
668
    * [HHH-615] - SchemaExport outputFile ignores ant's basedir
 
669
    * [HHH-770] - hql query execution generates invalid SQL
 
670
    * [HHH-779] - Assertion failure occured with Hibernate 3 saving objects
 
671
    * [HHH-781] - SimpleExpression ignorecase regression
 
672
    * [HHH-799] - merge() and embedded composite identifiers
 
673
    * [HHH-801] - subselect fetch and named parameters
 
674
    * [HHH-802] - querying "mapped" composite identifiers
 
675
    * [HHH-803] - no version increment from delayed collection adds
 
676
    * [HHH-805] - Session.getStatistics().getEntityCount() throws UnsupportedOperationException
 
677
    * [HHH-819] - Firebird CONCAT SQL function
 
678
    * [HHH-821] - query by natural-id cache is not update when object is inserted or deleted
 
679
    * [HHH-822] - <key-property> will actually pick up <type> tags if it were allowed by the DTD
 
680
    * [HHH-825] - ReadWrite-Cache issues NullPointerException after modification of an array
 
681
    * [HHH-839] - Session.refresh not working for custom 'Load' SQL
 
682
    * [HHH-849] - Cartesian product + implicit joins
 
683
    * [HHH-854] - Class with mapped composite id can't have subclasses
 
684
    * [HHH-858] - Autocommit status inconsistent in connections created by DriverManagerConnectionProvider
 
685
    * [HHH-863] - Hibernate generates "notExists" instead of "not exists"
 
686
    * [HHH-868] - Missing parens after / or -
 
687
 
 
688
** New Feature
 
689
    * [HHH-35] - add attribute haltonerror to schemaexport Ant task
 
690
    * [HHH-182] - Mimer SQL Dialect for Hibernate 3
 
691
    * [HHH-704] - Statistics for optimistic lock failures
 
692
    * [HHH-725] - Allow hooks into all executed sql by a session
 
693
    * [HHH-783] - collection lazy="extra"
 
694
    * [HHH-818] - Optimisitc locking using database current timestamp
 
695
    * [HHH-828] - session.getTransaction()
 
696
    * [HHH-829] - <cache include="all|non-lazy" ... />
 
697
    * [HHH-831] - allow database generated property values
 
698
    * [HHH-832] - allow database generated property values for versioning
 
699
    * [HHH-838] - Transaction.setTimeout()
 
700
    * [HHH-840] - allow definition of "auxiliary" database objects in mapping
 
701
    * [HHH-846] - Add Intializable interface for events
 
702
    * [HHH-848] - Validate mappings against JDBC metadata
 
703
    * [HHH-859] - post-commit events
 
704
 
 
705
** Improvement
 
706
    * [HHH-133] - schemaexport task: provide independent drop/create output
 
707
    * [HHH-135] - parameterized types can't be used on key-property or ir (possible others)
 
708
    * [HHH-552] - NoopAccessor for HQL-only properties
 
709
    * [HHH-680] - Easier support for doing UserCollectionType's
 
710
    * [HHH-686] - Final classes and classes with private null ctors cause unhelpful NullPointerException
 
711
    * [HHH-754] - Allow HQL DML for implicit polymorphism
 
712
    * [HHH-782] - Avoid unnecessary updates when component property is update='false' but modified
 
713
    * [HHH-786] - Improve lazy options for <one-to-one>
 
714
    * [HHH-791] - Use cascade styles when fetching entities in refresh() and merge()
 
715
    * [HHH-815] - Confusing use of the term "dereference"
 
716
    * [HHH-830] - Improvements to caching lazy properties
 
717
 
 
718
** Patch
 
719
    * [HHH-378] - Better LockMode.UPGRADE for DB2 UDB v8.2
 
720
    * [HHH-430] - Improved SizeExpression with greater, lesser, not equals, etc. capabilities
 
721
    * [HHH-735] - SchemaUpdate reads table metadata from wrong schema
 
722
    * [HHH-780] - org.hibernate.proxy.BasicLazyInitializer reflection hotspot
 
723
    * [HHH-864] - Use QUERY_CACHE for sessions with filters to improve performance
 
724
 
 
725
 
 
726
Changes in version 3.1 beta 1 (21.07.2005)
 
727
-------------------------------------------
 
728
 
 
729
** Bug
 
730
   * [HHH-145] - union-subclass and oracle 8i
 
731
   * [HHH-374] - EJB3 example delete query doesn't work in Hibernate.
 
732
   * [HHH-447] - EHCache integration prevents multiple session factories
 
733
   * [HHH-488] - JACCListeners are not working at all
 
734
   * [HHH-564] - missing commas for implicit joins
 
735
   * [HHH-577] - joins within subqueries on dbs supporting ansi-joins result in extraneous commas
 
736
   * [HHH-592] - cast() function doesn't know its returned Hibernate type
 
737
   * [HHH-639] - CGLIB instrumentation of subclasses
 
738
   * [HHH-658] - Bug in Alias Name Generation
 
739
   * [HHH-671] - Firebird support of sequences/generators
 
740
   * [HHH-679] - setLockMode(LockMode.UPGRADE_NOWAIT) does not translate to correct SQL on Oracle
 
741
   * [HHH-688] - Bad implementation in org.hibernate.type.CustomType.stringToObject
 
742
   * [HHH-691] - generated column alias is incorrect if there is a prior relationship and the table column names are similar to the table name
 
743
   * [HHH-694] - NPE when accessing the SLCache stats with TreeCache
 
744
   * [HHH-698] - Exception on EG , trying to change immutable id (natural-id)
 
745
   * [HHH-699] - Incorrect Tablename genetaion when using MySQL Dialect and no Schema definition
 
746
   * [HHH-708] - Restrictions.in could not be used properly on composite-ids
 
747
   * [HHH-709] - ArrayType.replaceElements fails if original.length != target.length
 
748
   * [HHH-718] - HQL "fetch all properties" not working for column level lazy props
 
749
   * [HHH-726] - ConstraintViolationException with primitive collection
 
750
   * [HHH-727] - java.lang.StackOverflowError when cascade="true" on both sides of bidirectional one-to-one association using FK
 
751
   * [HHH-734] - HQL incorrectly parses certain query strings
 
752
   * [HHH-736] - Use of sql functions containing space not supported in filter conditions
 
753
   * [HHH-738] - formula property with select-before-update
 
754
   * [HHH-747] - Order.toSQLString generates incorrect statement
 
755
   * [HHH-748] - component dereferencing in subquery from clauses
 
756
   * [HHH-752] - Typo in 8.5.3 bidirectional one-to-one jjoin table example
 
757
   * [HHH-757] - NullPointerException when using BigInteger in a query
 
758
 
 
759
** New Feature
 
760
   * [HHH-595] - HQL insert select
 
761
   * [HHH-597] - Named XML resultsetmappings
 
762
   * [HHH-696] - handle discriminators on HQL insert
 
763
   * [HHH-697] - allow bumping versions in HQL update
 
764
   * [HHH-716] - handle version columns in bulk inserts
 
765
   * [HHH-723] - Need to be able to pass in javax.sql.DataSource in SF creation
 
766
   * [HHH-739] - Order.ignoreCase()
 
767
   * [HHH-741] - select clause subselects
 
768
   * [HHH-742] - Stateless session
 
769
   * [HHH-744] - collection fetching in scroll() via "break processing"
 
770
   * [HHH-768] - <many-to-many property-ref=".."/>
 
771
 
 
772
** Improvement
 
773
   * [HHH-14] - Add Session.delete(String entityName, Object entity)
 
774
   * [HHH-295] - cleanup and expose the Tuplizers
 
775
   * [HHH-352] - HQL bulk and cache
 
776
   * [HHH-689] - exclude parens for components outside where-clause
 
777
   * [HHH-743] - {coll.key}, {coll.index}, {coll.element}, etc
 
778
   * [HHH-745] - EJB3 composite PK style
 
779
   * [HHH-749] - Cascade merge() and unidirectional one-to-many
 
780
   * [HHH-750] - use attribute name other than 'type' in dynamic-maps
 
781
   * [HHH-753] - Replace antlr System.exit with QueryException
 
782
   * [HHH-769] - property-ref="foo.bar" to a component property
 
783
   * [HHH-772] - null in maps are handled inconsistently
 
784
   * [TODO-18] - optimistic-lock="all|dirty" with components
 
785
 
 
786
 
 
787
Changes in version 3.1 alpha 1 (24.06.2005)
 
788
------------------------------------
 
789
** Bug
 
790
    * [HHH-204] - Wrong/uncommon log name in class ...hql ast ErrorCounter
 
791
    * [HHH-241] - HQL lexer doesn't support unicode quoted strings
 
792
    * [HHH-354] - property named "full" breaks HQL queries
 
793
    * [HHH-493] -  WARNING: Keyword 'member' is being intepreted as an ident
 
794
    * [HHH-538] - length() function does not work in SQLServerDialect
 
795
    * [HHH-539] - ClassCastException on mapping a property with a formula in a set of composite elements
 
796
    * [HHH-540] - Mapping a one-to-many collection with a non-null foreign key within a component fails on save
 
797
    * [HHH-547] - Cannot commit using UserCollectionType and debug logging
 
798
    * [HHH-548] - many-to-many faulty delete optimization when filter in use
 
799
    * [HHH-554] - Hibernate 3 HQL to SQL FROM Clause Comma Generation Problem
 
800
    * [HHH-558] - HQL doesn't support multi-byte character in class name and property names
 
801
    * [HHH-559] - quoted multi-byte character in HQL is translated into weird character in SQL.
 
802
    * [HHH-565] - delete-orphan generating AssertionFailure
 
803
    * [HHH-566] - The result is not correct in  'createQuery("select new Foor(x,x) from Foo").scroll()'
 
804
    * [HHH-570] - size operator fails on a many to many in HQL
 
805
    * [HHH-571] - JDK 1.3 Compatibility Issue
 
806
    * [HHH-573] - error when merging entity graph has cascade level>2
 
807
    * [HHH-575] - org.hibernate.cache.FilterKey is not Serializable
 
808
    * [HHH-589] - parameterized expression inside function
 
809
    * [HHH-594] - order-by mapping for collections overrides order by in HQL
 
810
    * [HHH-601] - New temporary table feature assumes all persisters are ready
 
811
    * [HHH-614] - SchemaUpdate broken in DB2/400
 
812
    * [HHH-622] - Spelling mistake 'intepreted' in org.hibernate.hql.PARSER warning
 
813
    * [HHH-642] - criterias with projection
 
814
    * [HHH-650] - FilterImpl is Serializable yet FilterDefinition is not
 
815
    * [HHH-657] - Date parse exception using EntityMode.DOM4J
 
816
    * [HHH-666] - JTAHelper.isInProgress( txn.getStatus()) throws NPE when txn null
 
817
 
 
818
** New Feature
 
819
    * [HHH-620] - Extra join conditions in HQL
 
820
    * [HHH-640] - short-circuit dirty checking for instrumented classes
 
821
    * [HHH-643] - support mutable="false" for collections
 
822
    * [HHH-645] - Session.setReadOnly()
 
823
    * [HHH-549] - portable to_char() function
 
824
    * [HHH-576] - Hook to pre-process generated select strings in the Dialect
 
825
    * [HHH-662] - Add support for definition of functional composite key ("properties") in joined subclass
 
826
 
 
827
** Improvement
 
828
    * [HHH-46] - Allow access to properties that are not joined
 
829
    * [HHH-261] - Stored procedure support for SQLServer dialects
 
830
    * [HHH-351] - multi-table bulk operations
 
831
    * [HHH-574] - improve in naming named-query
 
832
    * [HHH-596] - Auto-detect {..} in native SQL queries
 
833
    * [HHH-641] - create constraints for many-to-one property-ref
 
834
    * [HHH-501] - warn when a final method is tried to be proxied
 
835
    * [HHH-525] - cglib related startup performance
 
836
    * [HHH-557] - Helpful error message for non Serializable classes with a composite-id
 
837
    * [HHH-586] - check immutable natural-ids
 
838
    * [HHH-609] - Adds substr to PostgreSQL dialect
 
839
    * [HHH-618] - documentation bugs
 
840
 
 
841
** Patch
 
842
    * [HHH-224] - JDataStore Dialect and updated Testfiles
 
843
    * [HHH-366] - InformixDialect SQLExceptionConverter
 
844
    * [HHH-536] - ImprovedNamingStrategy modifies capitalized column names inappropriately
 
845
    * [HHH-632] - Informix Dialect missing from automatic dialect discovery
 
846
    * [HHH-4] - CachedFile bugfix + configuration + autodetect resource as file
 
847
 
 
848
 
 
849
Changes in version 3.0.5 (25.5.2005)
 
850
------------------------------------
 
851
 
 
852
** Bug
 
853
    * [HHH-516] - Interceptor.onFlushDirty() sometimes not called
 
854
    * [HHH-517] - getDatabaseMajorVersion() not available in JDK 1.3
 
855
    * [HHH-518] - SQL parser does not recognize all whitespace
 
856
    * [HHH-519] - broken SQL when traversing many-to-many to joined <subselect>
 
857
    * [HHH-529] - Bug in merge()
 
858
 
 
859
** New Feature
 
860
    * added <natural-id> mapping
 
861
    * [HHH-533] - allow unique-key on <property> and <many-to-one>
 
862
    * [HHH-534] - efficient cache by natural key
 
863
    * support for <comment> on MySQL
 
864
 
 
865
** Improvement
 
866
    * [HHH-526] - log "Aggressively releasing JDBC Connection" as DEBUG instead of INFO
 
867
    * various logging improvements
 
868
 
 
869
 
 
870
Changes in version 3.0.4 (23.5.2005)
 
871
------------------------------------
 
872
 
 
873
** Bug
 
874
    * [HHH-452] - UnsavedValueFactory.instantiate does not wrap the Exception it catches
 
875
    * [HHH-456] - Session still holds references to entities after close()
 
876
    * [HHH-457] - Log info for structured second-level cache entries is incorrect
 
877
    * [HHH-466] - Made default for MS SQL dialect definition more flexible
 
878
    * [HHH-473] - Formula can't contain SQL cast keyword
 
879
    * [HHH-484] - Order-by not applied to collections fetched by OuterJoinLoader
 
880
    * [HHH-487] - Possible empty union in UnionSubclassEntityPersister
 
881
    * [HHH-505] - Possible NullPointerException in BigIntegerType
 
882
    * [HHH-507] - Cached List does not show additions
 
883
    * Fixed bugs in subselect fetching
 
884
 
 
885
** New Feature
 
886
    * [HHH-455] - Obtain non-intercepted Session by passing an EmptyInterceptor
 
887
    * [HHH-467] - HQL: support for case when then else end IN select clause
 
888
    * [HHH-485] - Support multiple collection join fetches (attention: Cartesian product) in native SQL queries
 
889
    * Added SessionStatistics metric interface
 
890
    * Added support for table and column level <comment> blocks
 
891
    * Added Simplified Chinese translation of reference documentation (Xiaogang Cao)
 
892
 
 
893
** Improvement
 
894
    * Any query may now join fetch >1 collection role (attention: Cartesian product)
 
895
    * [HHH-454] - Add 2292 integrityViolationCode to Oracle9Dialect
 
896
    * [HHH-503] - Implemented ViolatedConstraintNameExtracter for HSQLDialect (Frank Grimes)
 
897
 
 
898
 
 
899
Changes in version 3.0.3 (8.5.2005)
 
900
-----------------------------------
 
901
* fixed bug in HQL for composite key classes which have a property named the same as the owning entity's id property
 
902
* replaced 'connection.aggressive_release' with 'hibernate.connection.release_mode'
 
903
* added ConnectionReleaseMode
 
904
* added eager fetch for any associations with fetch=join, even after a HQL query, or cache retrieval (EJB3)
 
905
* added replicate() isUpdate flag to OnReplicateVisitor, useful for native ids
 
906
* fixed ParameterizedTypes order of initialization
 
907
* fixed bug in DB2Dialect
 
908
* fixed EntityMode.DOM4J creation of duplicate <set> output
 
909
* fixed JDBCException error code handling
 
910
* fixed Criteria Restrictions.isEmpty()/isNotEmpty() when collection is mapped to superclass
 
911
* fixed HQL indexed collections access with no alias
 
912
* fixed HQL aggregate functions on components when "id" property is used
 
913
* fixed issue with non-cascading refresh to collections
 
914
* fixed query-timeout not being applied to bulk HQL (Stephan Fudeus)
 
915
* fixed pessimistic locking with Firebird (Yuichi Sugimura)
 
916
* updated Ant 1.6.3
 
917
* improved validation of sql queries, throw QueryException if addEntity() nor addScalar() was called
 
918
* added automatic dialect detection if no dialect is configured
 
919
* added new tutorial (Michael Gloegl, Christian Bauer)
 
920
 
 
921
 
 
922
Changes in version 3.0.2 (27.4.2005)
 
923
------------------------------------
 
924
* fixed union operations on PostgreSQL
 
925
* fixed HQL concat() function for Oracle dialect
 
926
* fixed auto-close/auto-flush during getCurrentSession() processing
 
927
* fixed ClassCastException with EntityMode.DOM4J
 
928
* fixed HQL dynamic instantiation with iterate()
 
929
* fixed HQL bug with missing parantheses and implicit joins
 
930
* fixed bug were Interceptor.getEntity() wasn't called if in cache
 
931
* fixed bug in merge() of sorted sets
 
932
* fixed bug in EntityMode.DOM4J with non-lazy embedded many-to-ones
 
933
* fixed Criteria/Projection ordering bug
 
934
* fixed HQL referencing component attribute
 
935
* fixed column duplication detection for components
 
936
* fixed eager fetching for many-to-many associations
 
937
* fixed stack overflow with auto_close_session and aggressive_release and unclosed ScrollableResults/HibernateIterator
 
938
* fixed bug in HQL parser regarding naked property refs which reference component properties
 
939
* fixed bug with eager fetched arrays not being loaded
 
940
* fixed bug in filter against joined-subclass
 
941
* improved CacheMode.GET/IGNORE, disabled cache put
 
942
* improved HQL support for standard SQL functions, including coalesce() and nullif()
 
943
* improved filtering of many-to-many associations
 
944
* added HQL support for cast(x as type) if SQL database supports it
 
945
* added increment id generation for union-subclass
 
946
* added ConnectionProvider.supportsAggressiveRelease() for managed environments
 
947
* added support for caching of queries if filter is enabled
 
948
* added PreparedStatement count to Statistics
 
949
* added transactional/nontransactional read()/get() to Cache API
 
950
* added quotation of schema names
 
951
* added Distinct to Projection API
 
952
* added config parameter 'connection.aggressive_release'
 
953
 
 
954
Changes in version 3.0.1 (18.4.2005)
 
955
------------------------------------
 
956
* added HQL tuple constructor/comparison feature
 
957
* added HQL "fetch all properties" override if instrumentation is used for lazy loading
 
958
* added HQL projection feature, return Lists instead of arrays for projection
 
959
* added HQL projection feature, return Maps with user-defined HQL SELECT aliases as keys
 
960
* added HQL support for expressions in aggregation functions
 
961
* added new IntegrityViolationException to MySQL dialect
 
962
* added value mapping type 'big_integer'
 
963
* added not-found="ignore|exception" switch for legacy associations (i.e. broken database integrity)
 
964
* added fully automatic Session scoping in JTA environments with sf.getCurrentSession()
 
965
* fixed bug in DTD that wouldn't allow union-subclass in separate file
 
966
* fixed a MS SQL Server case sensitivity issue with native SQL queries
 
967
* fixed a minor bug in subselect fetching
 
968
* fixed case sensitivity in HQL functions
 
969
* fixed a bug with listener assignment for save() operation (Matthew Inger)
 
970
* fixed return-property in named SQL queries to work with all identifier names
 
971
* fixed TransactionManager lookup (again) for WAS 6.0
 
972
* fixed a bug with HQL batch delete and MS SQL Server
 
973
* fixed session not getting closed with auto_close when rollback occured
 
974
* improved concatentation handling in AST parser
 
975
* updated dom4j to avoid memory leak in old version
 
976
* updated C3P0
 
977
 
 
978
 
 
979
Changes in version 3.0 (31.3.2005)
 
980
----------------------------------
 
981
* added support for autoflush/autoclose to HibernateServiceMBean
 
982
* fixed initialization/session association detection problem of collections
 
983
* fixed creation of FK constraints to union superclass table
 
984
* fixed bug where union-subclass table did not get a PK constraint
 
985
* added a separate log category for HQL parser warnings and errors
 
986
* fixed bulk delete operation on MS SQL Server
 
987
* added support for proxying protected methods (Juozas)
 
988
* added support for unicode quoted strings in new HQL parser
 
989
* fixed implied joins in subselect WHERE clause in new HQL parser
 
990
* added SQLServer7Dialect to handle differences in functions
 
991
* added support for JNDI-bound cache instances, future use for JBoss Cache
 
992
* added scale attribute to column mappings for numeric precision control
 
993
* added fetch=subselect for collections
 
994
* added support for bulk update/delete against discriminator-based inheritence hierarchies
 
995
* added the ability to use naked property refs in HQL (required in update/delete statements)
 
996
* updated CGLIB 2.1.0
 
997
* fixed NPE at BasicEntityPersister.getPropertyIndex (Todd Nine)
 
998
* fixed issue with entity-name and subclasses (Sverker Abrahamsson)
 
999
* fixed issue with correlated subqueries in new HQL parser
 
1000
* fixed a problem with native SQL query mapping and embedded composite identifiers
 
1001
* improved mapping binding, allowing unordered extends for pure entity-name hiearchies
 
1002
* fixed NPE for delete() with deprecated Lifecycle interface
 
1003
* fixed a problem with serial joins ending in component value in new HQL parser
 
1004
* fixed inner join/subselect precedence problem in new HQL parser
 
1005
* fixed indices() function in new HQL parser
 
1006
* fixed a bug in InformixDialect, now correct LIMIT clause
 
1007
* fixed a bug in idbag.remove() (Sebastien Cesbron)
 
1008
* fixed a conflict on OracleDialect between setMaxResult and LockMode.UPGRADE
 
1009
* fixed XML configuration file issue with SchemaExport
 
1010
* fixed an ArrayIndexOutOfBounds problem
 
1011
* renamed executeUpate() to executeUpdate()
 
1012
* fixed batch loading for property-ref entities
 
1013
* fixed loading from cache of <key property-ref> collection owner
 
1014
* fixed minor bug in SQL exception reporting
 
1015
* fixed dynamic-component cannot be bound to XML
 
1016
* fixed querying component with formula property
 
1017
* fixed incorrect table alias for order-by on many-to-many
 
1018
* fixed a bug for unidirectional one-to-many with moving child objects
 
1019
* fixed a bug with union-subclasses and persister creation
 
1020
* fixed a HQL concatenation problem on MySQL
 
1021
* fixed a bug where an unnecessary exception was thrown for a property-ref to a superclass property
 
1022
* fixed minor dtd bug
 
1023
* fixed new bug in Clob/Blob support
 
1024
* fixed issue with INDEX_OP and subclass joins on theta-join dialects
 
1025
* fixed some minor issues in query cache regions, including HB-1449
 
1026
* fixed superflous import and regression bug in verifyparameters
 
1027
* fixed two bugs in select id generator (Malcolm Green)
 
1028
* fixed increment generator for union-subclass mappings
 
1029
* updated JBoss Cache to 1.2.1alpha, fixing locking issues
 
1030
* made stat classes serializable
 
1031
* fixed merge(), now ignores blob and clob fields
 
1032
* added support/dialect for TimesTen
 
1033
* improved algorithm for batch fetching, more aggressive
 
1034
* improved toStrings()s for Statistics objects (Ryan Lynch)
 
1035
* renamed <result-*> to <return-*> for externalized SQL query mapping
 
1036
* renamed Session.openSession() for EntityMode to Session.getSession()
 
1037
* added support for CASE in HQL
 
1038
* fixed bug with filters and polymorphic queries
 
1039
* fixed import ordering problem of super/subclass mappings
 
1040
* switched to patched ANTLR 2.7.5, now using context classloader before doing class.forname
 
1041
* TableHiloGenerator now falls back to TableGenerator properly with max_lo < 2 (Emmanuel Bernard)
 
1042
* better transaction handling of TableGenerator in a JTA environment  (Emmanuel Bernard)
 
1043
* removed hard coded log4j dependency (Emmanuel Bernard)
 
1044
* added support for stored procedure in named queries (Max Andersen)
 
1045
* added <property-result> to named SQL queries to allow users to use sql without {}-markup
 
1046
* added multi-column property support to native SQL mapping
 
1047
 
 
1048
Changes in version 3.0rc1 (28.2.2005)
 
1049
----------------------------------
 
1050
* introduced EntityModes, and XML mapping preview
 
1051
* several minor dialect improvements
 
1052
* fixed a problem where filters were not applied to subclasses
 
1053
* fixed a problem where InstrumentTask would fail if applied to already-instrumented classes
 
1054
* fixed many problems with new parser and made it the default (thanks again to Joshua for the new parser)
 
1055
* implemented bulk update/delete queries for the new parser
 
1056
* fixed a minor bug in the classic query parser
 
1057
* renamed create() to persist() as per EJB3edr2
 
1058
 
 
1059
Changes in version 3.0 beta 4 (11.2.2005)
 
1060
-----------------------------------------
 
1061
* support unidirection one-to-many with a not-null foreign key
 
1062
* support formulas for index and element of collections
 
1063
* support one-to-ones mapped to formulas
 
1064
* fixed a bug in proxying methods that return "this"
 
1065
* optimized proxies for embededded composite id classes
 
1066
* fixed a bug affecting <key-many-to-one>
 
1067
* fixed a bug caching newly inserted objects
 
1068
* introduced DetachedCriteria
 
1069
* support subselects in Criteria queries
 
1070
* miscellaneous Criteria API enhancements
 
1071
* fixed a problem where hibernate.max_fetch_depth applied to eager fetching via setFetchMode()
 
1072
* use inner joins for join fetching not-null fk associations
 
1073
* support unique="true" in <component> and <properties> mappings
 
1074
* union-subclass hierarchies may own collections (dtd bug)
 
1075
* added guid support for Oracle
 
1076
* new mechanism for auto-detecting unsaved-value
 
1077
* pass state array in delete events
 
1078
* improved implementation of hibernate.auto_close_session and hibernate.close_before_completion
 
1079
* fixed a bug where components with only collections would be incorrectly nullified
 
1080
* fixed a bug where criteria queries with projection could not be cached
 
1081
* fixed a problem where duplicate column name aliases could be generated
 
1082
 
 
1083
Changes in version 3.0 beta 3 (30.1.2005)
 
1084
------------------------------------------
 
1085
* Major rework of Criteria queries, support for projection, grouping, aggregation, ordering by any attribute
 
1086
* various improvements to new HQL parser (Joshua Davis)
 
1087
* fixed a bug where <join fetch="select"> was broken for subclasses with duplicated property names
 
1088
* fixed problems with long types in Oracle DDL generation
 
1089
* added EnhancedUserType, UserCollectionType, UserVersionType
 
1090
* added CacheMode
 
1091
* fixed minor performance problem where cascade delete could add objects to second-level cache
 
1092
* added hibernate.default_batch_fetch_size
 
1093
* added hibernate.cache.use_structured_entries
 
1094
* different classes and collection roles may now share a cache region
 
1095
* don't include discriminators for abstract classes in generated SQL
 
1096
* it is no longer truly necessary for composite identifier classes to implement equals()/hashCode() (but still recommended)
 
1097
* workaround for bug in MySQL InnoDB with self-referential foreign keys
 
1098
* added lazy="true" to many-to-one and one-to-one mappings (requires bytecode instrumentation)
 
1099
 
 
1100
Changes in version 3.0 beta 2 (24.1.2005)
 
1101
------------------------------------------
 
1102
* added LockAcquisitionErrorCodes to MySQL dialect (Jesse Barnum, Emmanuel Bernard)
 
1103
* added MultipleHiLoPerTableGenerator, one hi value per row/per table (compliant with EJB3)
 
1104
* added a generator handling multiple hi values per table (Emmanuel Bernard)
 
1105
* added events for pre/post SQL operation interception
 
1106
* added experimental support for JACC-aware configuration and events
 
1107
* added full support for implicit polymorphism in Criteria queries
 
1108
* added support annotated classes through XML configuration (Emmanuel Bernard)
 
1109
* added support for WebSphere's weird TxManagerLookup
 
1110
* added support for filters with dynamic-class mappings
 
1111
* added support for lists of parameters in filters
 
1112
* added support for scalar queries in createSQLQuery (Michael Gloegl)
 
1113
* added support for scalar results in native SQL queries (Michael Gloegl)
 
1114
* fixed SchemaExport/SchemaUpdate, now respect default_schema and default_catalog (Michael Gloegl)
 
1115
* fixed a bug in one-to-one mapping with property-ref
 
1116
* fixed a bug in the query cache lookup routine
 
1117
* fixed compilation problems on IBM JDK 1.4. and JDK 1.3.1
 
1118
* fixed custom SQL for loading when using composite identifiers
 
1119
* fixed exception thrown from optimistic locking failures
 
1120
* fixed support for limit queries (select first ?) in Informix
 
1121
* improved SchemaExport/Update, now respect default_schema and default_catalog
 
1122
* improved dialect handling, throw an exception if no dialect has been set
 
1123
* improved loading of mappings, no ordering of super/subclasses required anymore
 
1124
* improved statistics for second-level cache
 
1125
* improved table generators for hi/lo, can now be used in a JTA environment (Emmanuel Bernard)
 
1126
* query engine: added support for 'trim([leading | trailing | both] [expression from] expression)'
 
1127
* query engine: added support for DISTINCT and ALL
 
1128
* query engine: added support for FETCH
 
1129
* query engine: added support for HAVING count()
 
1130
* query engine: added support for HQL NOT IN and EJBQL '[NOT] MEMBER OF'
 
1131
* query engine: added support for ORDER BY COUNT(*)
 
1132
* query engine: added support for collections of scalar values
 
1133
* query engine: added support for literals in constructor select expressions.
 
1134
* query engine: added support for select elements(..) from Foo f
 
1135
* query engine: added support for template functions in the SELECT clause
 
1136
* query engine: fixed NOT LIKE
 
1137
* query engine: introduced EMPTY and added it to constant (support for IS [NOT] EMPTY)
 
1138
* updated dom4j, OSCache, EHCache, JBoss Cache, Xerces, Xalan, and Log4j
 
1139
* associated class where filter now applies to <one-to-one property-ref>
 
1140
 
 
1141
Changes in version 3.0 beta 1 (21.12.2004)
 
1142
------------------------------------------
 
1143
* reimplemented HQL using an ANTLR-based AST parser (Joshua Davis)
 
1144
* added class="select" id generator
 
1145
* added Query.setReadOnly()
 
1146
* added hibernate.order_updates
 
1147
* introduced cascade refresh
 
1148
* added typed JDBC exceptions (Steve Ebersole)
 
1149
* improved lifecycle for CacheProviders (Steve Ebersole)
 
1150
* added Expression.isEmpty()
 
1151
* fixed some minor mapping DTD bugs (Ben Sommerville)
 
1152
* fixed auto-commit mode for SchemaUpdate
 
1153
* added default-lazy to <hibernate-mapping>, which defaults to true!
 
1154
* added fetch="join|select" and deprecated outer-join attribute
 
1155
* fixed a bug where <custom-insert> was not used for entities with "identity" id generation
 
1156
* fixed some problems with dynamic-class
 
1157
* added property-level optimistic-lock attribute, to allow an unchecked property
 
1158
* cascade lock() now cascades with LockMode.NONE
 
1159
* fixed some bugs in filter handling (Steve Ebersole)
 
1160
* added hibernate.transaction.flush_before_completion and hibernate.transaction.auto_flush_session
 
1161
* added JSR-220 compliant create() and merge() operations
 
1162
* cascade attribute is now multi-valued, with values save-update,create,merge,delete,delete-orphan,lock,evict,replicate,all-delete-orphan
 
1163
* index and unique-key attributes may now be multi-valued
 
1164
* introduced unsaved-value="undefined", the default for "assigned" ids and <composite-id>, which forces Hibernate to hit the db
 
1165
* primitive typed <id> property mappings now default to unsaved-value="0"
 
1166
* added ScrollMode
 
1167
* added dialect for Derby (Simon Johnston)
 
1168
* added MySQLMyISAMDialect and MySQLInnoDBDialect
 
1169
* added precision and scale mapping attributes, for numeric types in DDL
 
1170
* fixed a problem with duplicate column mappings on Sybase
 
1171
* read-write cache now uses version numbers to ensure consistency with database, if available
 
1172
* native SQL queries may now fetch a collection role (Steve Ebersole)
 
1173
* added sequential-select, optional and inverse attributes to <join/>
 
1174
* added <properties> element, which can be the target of a property-ref
 
1175
* fixed a bug relating to composite property-refs
 
1176
* Hibernate now much more robust if user does not implement equals()/hashCode() on id and unique key classes
 
1177
* enabled batch deletes for versioned data
 
1178
* fixed a minor bug in Session.close()
 
1179
* removed uuid.string and renamed uuid.hex to plain uuid
 
1180
* workaround for a MySQL bug in SchemaUpdate
 
1181
* added JDBCException.getSQL() and made various improvements to exception flow
 
1182
* createSQLQuery() now fully supports components
 
1183
* fixed a bug in SQL generation for <joined-subclass> mappings
 
1184
* fixed a bug where filter and query parameters could be bound in the wrong order (Steve Ebersole)
 
1185
* fixed a problem where quantifiers could not appear in SQL fragments
 
1186
* fixed a bug with dynamic components
 
1187
* fixed a bug where Dialect default properties overrode user-specified properties (Ben Sommerville)
 
1188
* fixed a bug where duplicate column name in a joined table caused an exception
 
1189
* implemented two-phase load for dynamic components
 
1190
* fixed a bug where cancelQuery() canceled a re-pooled statement
 
1191
* deleted collections are now removed from session-level cache
 
1192
* fixed a bug in LocaleType (Steve Ebersole)
 
1193
* use "with rr" to obtain UPGRADE locks in DB2
 
1194
* package attribute now significant for extends
 
1195
* fixed a minor problem with Hibernate Clobs and Blobs
 
1196
* extends attribute does no longer require specific ordering of mapping files
 
1197
 
 
1198
Changes in version 3.0 alpha (23.8.2004)
 
1199
----------------------------------------
 
1200
* package rename net.sf.hibernate -> org.hibernate
 
1201
* checked exceptions are now runtime exceptions
 
1202
* some session methods deprecated and moved to org.hibernate.classic.Session
 
1203
* removed various deprecated functionality
 
1204
* added Filter API and mappings, for temporal, regional and permissioned data (Steve Ebersole, Gavin King)
 
1205
* support cascade delete via ON DELETE CASCADE constraint
 
1206
* added extra attributes to named query definition
 
1207
* added hibernate.use_identifier_rollback
 
1208
* added subselect mappings
 
1209
* added lazy="true" to property mappings
 
1210
* added <join/> for multitable mappings
 
1211
* added <union-subclass/> for table-per-concrete-class strategy
 
1212
* added Statistics API and JMX MBean (Gavin King, Emmanuel Bernard)
 
1213
* introduced new event-driven design (Steve Ebersole)
 
1214
* support for faster startup with Configuration.addCachableFile() (Joris Verschoor, Max Andersen)
 
1215
* mask connection password for log level greater of equals to info (Joris Verschoor, Emmanuel Bernard)
 
1216
* add check of named queries when building SessionFactory (Joris Verschoor, Emmanuel Bernard)
 
1217
* added custom EntityResolver setting capability (Emmanuel Ligne, Emmanuel Bernard)
 
1218
* PropertyValueException for null values in not-null properties of components (Emmanuel Bernard)
 
1219
* enhanced support for single- and no-argument sql-functions in HQL select clause (Michael Gloegl)
 
1220
* Added catalog element, to enable table names like catalog.schema.table (Michael Gloegl)
 
1221
* Added <sql-insert>, <sql-update> and <sql-delete> support (Max Andersen)
 
1222
* Support callable statements (stored procedures/functions) via callable="true" on custom sql (Max Andersen)
 
1223
* Added support for type parameters and typedefs (Michael Gloegl)
 
1224
* Added support for JDBC escape sequences in createSQLQuery (Max Andersen)
 
1225
* Added statistics per SessionFactory (Gavin King, Emmanuel Bernard)
 
1226
* Added a StatisticsService MBean for JMX publucation (Emmanuel Bernard)
 
1227
* support for updates via rownum in Oracle
 
1228
* fixed problems with SchemaUpdate
 
1229
* support for <column formula="..."/>
 
1230
* added hibernate.use_sql_comments
 
1231
* added property-ref to collection <key/>
 
1232
* fixed performance problems with <one-to-one property-ref=.../>
 
1233
* enhanced UserType with new methods assemble()/disassemble()
 
1234
* better algorithm for batch fetch batch sizes
 
1235
* added <dynamic-class>
 
1236
* added entity-name concept, and session methods save(entityName, object), update(entityName, object), etc
 
1237
* added framework in proxy package
 
1238
* native SQL queries may now fetch a collection role
 
1239
* added <loader/> for class and collection mappings
 
1240
* added getEntity() and getEntityName() to Interceptor
 
1241
* formula-based discriminators and association mappings
 
1242
* added "guid" id generation strategy
 
1243
* various improvements to dialects
 
1244
* <discriminator force="true"/> now acts as a filter on collections
 
1245
* where filters now apply in the on clause in an outer join
 
1246
* added hibernate.jdbc.factory_class to select a custom batcher
 
1247
* session now uses entity name + id to enforce uniqueness, instead of table name + id
 
1248
 
 
1249
Changes in version 2.1.6 (9.8.2004)
 
1250
------------------------------------
 
1251
* fixed Quickstart/readme.txt instructions
 
1252
* fixed DB2/400 identity column support
 
1253
* fixed the scroll() query method
 
1254
* fixed exotic classloader problems with CGLIB
 
1255
* added insert="false" for discriminator columns which are part of a composite identifier
 
1256
* added several new configuration settings to JMX HibernateService
 
1257
* added new instantiate() method to SessionFactory.getClassMetadata()
 
1258
* improved the HSQL DB dialect with features from new version
 
1259
* added hibernate.jdbc.batch_versioned_data (Steve Ebersole)
 
1260
 
 
1261
Changes in version 2.1.4 (2.6.2004)
 
1262
------------------------------------
 
1263
* improved Session serialization support by adding ability to serialize unflushed sessions (Steve Ebersole)
 
1264
* fixed Session.clear() functionality to clear the internal nonExists cache (Steve Ebersole)
 
1265
* much better implementation of scroll() (Steve Ebersole)
 
1266
* support "select new ..." for iterate() and scroll() (Steve Ebersole)
 
1267
* added support for multi-parameter SQL functions (Steve Ebersole)
 
1268
* fixed hbm2ddl generating infinite indexes on MySQL (Michael Gloegl)
 
1269
* fixed alias precedence in HQL queries, function names are second (Steve Ebersole)
 
1270
* added "transactional" as allowed cache concurrency strategy in XML configuration file
 
1271
* improved System.getProperties() with security exception warning in secure environments
 
1272
* improved Proxool integration, better property handling
 
1273
* fixed problem with use of getDefinedMethod() in secure environments (Ken Arnold)
 
1274
* fixed bug in createSQLQuery() which prohibited multiple aliases for the same entity (Max Andersen)
 
1275
* fixed query cache misses when using named bind parameters (Michael Greer)
 
1276
* recognize "left" and "right as keywords in SQL fragments
 
1277
* recognize SQL quoted identifiers in SQL fragments
 
1278
* improved identity handling on SQL Server by using scope_identity() for update counts (Arthur Fitt)
 
1279
* added DB2390Dialect for DB2/390 databases (Kristoffer Dyrkorn)
 
1280
* fixed a bug in toArray() of identifier bag collections (Khachchou Mohammed)
 
1281
* fixed a problem with DDL generation for serial columns in Informix
 
1282
* fixed a problem with DDL generation for timestamp columns in Informix (Michael Schmidt)
 
1283
* fixed a NPE that occurred calling saveOrUpdateCopy() for components
 
1284
* fixed a bug with replicate() and uninitialized collections
 
1285
* fixed a bug caching one-to-one associations
 
1286
* fixed eviction from named query cache regions
 
1287
 
 
1288
Changes in version 2.1.3 (25.4.2004)
 
1289
-----------------------------------
 
1290
* added SELECT-clause SQL function support to main Dialects
 
1291
* fixed a problem where some unnecessary selects where issued for optional one-to-one associations
 
1292
* fixed a bug in SQL generation for criteria queries with multiple one-to-many joins
 
1293
* deprecated everything related to PersistentEnum
 
1294
* fixed an NPE that occurred when using <one-to-one property-ref> with composite ids
 
1295
* fixed a problem with JCA adaptor on WebLogic (Michael Gloegl)
 
1296
* improved behavior when removing elements from <idbag>s
 
1297
* fixed a bug in getGeneratedKeys() support (Michael Gloegl, Kevin Day)
 
1298
* fixed a bug when using Criteria queries with collections of joined-subclasses
 
1299
* fixed an NPE that occurred when calling comparator() on a lazy sorted set (Attila Szegedi)
 
1300
* fixed a bug when using setMaxResults() with native SQL queries in some Dialects
 
1301
* validate that composite id classes override hashCode() (Adrien)
 
1302
* fixed some minor problems with saveOrUpdateCopy()
 
1303
* fixed some problems in OSCache provider
 
1304
* fixed an NPE that occurred when calling a lazy collection after evicting from session
 
1305
* fixed an NPE that occurred when select-before-update is used with unversioned data (Patrick Peralta)
 
1306
* fixed a bug where dynamic-components could not be queried (Massimo Ferrari)
 
1307
* SQL formula parser now recognizes all Dialect-specific SQL functions (Anthony Patricio)
 
1308
* fixed a problem where SQL CASE statements could not appear in SQL formulas
 
1309
* fixed a problem where subselects with joins could not appear in SQL formulas
 
1310
* C3P0 and Proxool pools now cleaned up after SessionFactory.close()
 
1311
* fixed a bug where dirty checking of mutable properties was broken after lock()
 
1312
* fixed a minor bug where orphan delete was broken for newly saved instances
 
1313
* added Query.setFetchSize() and Criteria.setFetchSize()
 
1314
* PreparedStatement pooling in DBCPConnectionProvider can now be disabled (Emmanuel Bernard)
 
1315
* Query.setProperties(Object) now detects array and collection valued properties and delegates to Query.setParameterList() (Max Andersen, Nick Heudecker)
 
1316
* lengths of positional parameters and types arrays are now validated
 
1317
* fixed an obscure problem where a PreparedStatement was not closed
 
1318
 
 
1319
Changes in version 2.1.2 (4.2.2004)
 
1320
-----------------------------------
 
1321
* added Session.isDirty()
 
1322
* fixed a very obscure concurrency problem with read-write cache for inverse collections
 
1323
* deprecated Criteria.returnMaps() / Criteria.returnRootEntities() in favor of new ResultTransformer framework
 
1324
* don't cache objects with dynamic-update="true" or <joined-subclass> mappings immediately after insert/update
 
1325
* added version checking to saveOrUpdateCopy()
 
1326
* fixed constraint violations that occurred when mixing identity columns with other id generation strategies
 
1327
* added Sybase 11.9.2 dialect to support older versions of Sybase that do not support ANSI joins (Colm O' Flaherty)
 
1328
* added Informix9Dialect (Finn McCann and Max Andersen)
 
1329
* added DB2400Dialect (Peter DeGregorio)
 
1330
* fixed a problem where mapping validation failure was reported as duplicate import (Michael Gloegl)
 
1331
* fixed a problem with Expression.not() in MySQL (Michael Gloegl)
 
1332
* added support for ResultSet.getGeneratedKeys() (David Morris, John Kristian)
 
1333
* added check attribute to allow check constraints in DDL
 
1334
* implicit polymorphism for Criteria queries (Shorn Tolley)
 
1335
* use IF EXISTS for dropping hilo tables (Michael Gloegl)
 
1336
* better exception report if deleted object is resaved by cascade
 
1337
* support nested components in Example queries (Emmanuel Bernard)
 
1338
* fixed a minor problem with onDelete() callbacks
 
1339
* fixed an obscure problem with select-before-update
 
1340
* added SunONETransactionManagerLookup (Robert Davidson)
 
1341
* fixed a problem with replicate() and <joined-subclass> mappings
 
1342
* made setParameterList() accept empty lists and deny null values (Max Andersen)
 
1343
* validation check on query parameters now allows setParameter(x, null) (Max Andersen)
 
1344
* added default-access to DTD (Max Andersen)
 
1345
* made Query.setParameterList() accept empty lists and deny null values (Max Andersen)
 
1346
* allow Query.setParameter(x, null) (Max Andersen)
 
1347
* queries with "select new" now cacheable
 
1348
* throw meaningful exception when lazy initialization occurs on disconnected session
 
1349
* added default-access to <hibernate-mapping> (Max Andersen)
 
1350
* added -text support to SchemaUpdate (Max Andersen, Matt Hall)
 
1351
* fixed broken implementation of embedded composite keys with createSQLQuery() (Max Andersen)
 
1352
* added hibernate.cache.use_minimal_puts config property to reduce unnecessary second-level cache puts
 
1353
* optimized performance of orphan delete detection (Bertrand Renuart)
 
1354
* fixed problem where unnecessary UPDATE occurred after INSERT for versioned objects with collections
 
1355
* WebSphereTransactionManagerLookup for WAS 5.1 (Edina Pimp)
 
1356
* Criteria queries now cacheable (Mario Ivankovits)
 
1357
* fixed problem with ordered, paginated queries in DB2 (Tim Collins)
 
1358
* fixed a bug caching <idbag>s
 
1359
* lazy="true" collections are now lazy even when available in cache
 
1360
* fixed a problem with version unsaved-value="negative"
 
1361
* added hibernate.cache.region_prefix config property (William Drai)
 
1362
* fixed problem where configuration input streams were not closed (Rajesh Patel)
 
1363
 
 
1364
Changes in version 2.1.1 (17.12.2003)
 
1365
-------------------------------------
 
1366
* added optional package attribute to <hibernate-mapping>
 
1367
* added <meta-value> element to allow simpler <any> mapping
 
1368
* native SQL queries are now cacheable - added <synchronize> element to allow correct result set expiry
 
1369
* fixed a bug in CGLIB2 integration (Chris Nockleberg)
 
1370
* added NamingStrategy
 
1371
* don't cache objects with formula properties immediately after insert/update
 
1372
* log generated SQL to a special category
 
1373
* type of property with access="field" may now be guessed using reflection
 
1374
 
 
1375
Changes in version 2.1 final (12.12.2003)
 
1376
-----------------------------------------
 
1377
* fixed a problem with CGLIB2 proxies and method calls inside constructors
 
1378
* fixed a bug running SchemaExportTask with mappings in jar files (Tom McCune)
 
1379
* allow custom persister declaration for subclasses (Nick Johnson)
 
1380
* fixed handling of sequences in SchemaUpdate on Oracle (Andrew Delpha)
 
1381
* fixed a bug where Iterator did not handle single null values correctly
 
1382
* detect and throw exception in the case of a duplicate property mapping
 
1383
* don't auto-create indexes for collection foreign keys (roll back to 2.0.x)
 
1384
 
 
1385
Changes in version 2.1 rc1 (29.11.2003)
 
1386
---------------------------------------
 
1387
* long identifier and discriminator column names are now safely aliased (Max Andersen)
 
1388
* cleaned up mapping package to allow applications to manipulate metamodel programmatically
 
1389
* fixed a recent bug where collection sort order was lost in second-level cache
 
1390
* formula attribute now supported for joined-subclass mappings
 
1391
* formula properties may now be used anywhere in queries
 
1392
* dialect-specific query pagination for SQL Server
 
1393
* fixed a bug where a long path expression ending in collection access by index missed some tables in SQL FROM clause
 
1394
* fixed a very ancient performance problem where null one-to-one associations caused n+1 selects
 
1395
* added Session.saveOrUpdateCopy()
 
1396
* fixed some bugs in Example queries
 
1397
* fixed some minor bugs in dialect-specific query pagination
 
1398
* immutable entity passed to update() is now lock()ed instead
 
1399
* reworked the semantics of nonstrict-read-write
 
1400
* JCS cache support now deprecated
 
1401
* fixed some obscure bugs in collection handling
 
1402
* migrated to CGLIB2 (thanks to Chris Nockleberg)
 
1403
* fixed bugs in replicate()
 
1404
* fixed a bug affecting joined-subclass mappings with dynamic-update=true
 
1405
* performance improvements to boolean type mappings (Bertrand Renuart)
 
1406
* integrated JBoss TreeCache clustered cache (thanks to Bela Ban and Ben Wang)
 
1407
* fixed a bug in new query parameter validation (Steve Ebersole)
 
1408
* fixed a bug where <any> mappings caused unnecessary ObjectDeletedException at flush time
 
1409
* fixed a bug where associations with property-ref mappings were not properly cached
 
1410
* throw PropertyValueException when not-null properties are null at flush time
 
1411
* added unsaved-value attribute to version property mapping (Emmanuel Bernard)
 
1412
* tolerate classnames containing $ (Steve Ebersole)
 
1413
 
 
1414
Changes in version 2.1 beta 6 (5.11.2003)
 
1415
-----------------------------------------
 
1416
* added Session.cancelQuery()
 
1417
* improvements to transaction handling for failed commit (thanks to Juergen Hoeller)
 
1418
* added cascade="delete-orphan"
 
1419
* fixed an exception that occurred when a property was declared not-null="true" update="false" (thanks to John Kristian)
 
1420
* support multiple named query cache regions (Mikheil Kapanadze)
 
1421
* some improvements to collection reattachment
 
1422
* fixed a bad bug with adds to an uninitialized bag or list
 
1423
* removed support for <dynabean/> components
 
1424
* added <dynamic-component/> mapping for properties of type Map
 
1425
* fixed a bug where schema export generated index names that were too long for DB2
 
1426
* allow per-region expiry policies in OSCache (Matthias Bogaert)
 
1427
* fixed a stack overflow that could occur while initializing nonlazy collections
 
1428
* fixed a bug in case-insensitive like for Example queries
 
1429
* fixed a bug in ScrollableResults.setRowNumber() (Martin Priekopa)
 
1430
* improvements to the cache concurrency strategies
 
1431
 
 
1432
Changes in version 2.1 beta 5 (30.10.2003)
 
1433
------------------------------------------
 
1434
* Support for custom CollectionPersister (Nick Johnson, Max Andersen)
 
1435
* Support for named SQL queries (Max Andersen)
 
1436
* duplicate named queries now throws MappingException instead of just logging warning (Max Andersen)
 
1437
* fixed problems with WebSphereTransactionManagerLookup (Ralf Taugerbeck, Daniel Bradby)
 
1438
* added support for custom collection persisters (thanks to Max Anderson, Nick Johnson)
 
1439
* fixed a performance problem during query compilation (Bulent Erdemir)
 
1440
* composite keys now supported in createSQLQuery() (Max Andersen)
 
1441
* fixed JCA adaptor to run in WebLogic (Daniel Bradby)
 
1442
* integrated SwarmCache (Jason Carreira)
 
1443
* integrated OSCache (Matthias Bogaert)
 
1444
* fixed an NPE that could occur with lists and orphan delete
 
1445
* allow nullable one-to-one with property-ref
 
1446
* improved usage of Dialect-specific limit SQL
 
1447
* fixed problem where non-lazy collections held by cached objects were not immediately initialized
 
1448
* fixed getReturnTypes() for native SQL queries (Max Andersen)
 
1449
* fixed problems with Criterions that applied to multi-column properties
 
1450
* check of rowcounts when JDBC batch updates enabled
 
1451
* added named SQL queries using <sql-query> element (Max Andersen)
 
1452
* added some extra validations so Hibernate fails earlier when user makes mistakes
 
1453
* allow lazy="true" as an alternative to proxy="ClassName"
 
1454
* removed dependency to commons-lang
 
1455
* SchemaExport now creates indexes for collection foreign key columns if specified by Dialect
 
1456
* fixed a bug parsing named parameters in setParameterList()
 
1457
* select new Foo(...) will now tolerate null values if the constructor accepts a wrapper type
 
1458
* fixed a problem detecting Proxool
 
1459
* added logging of persistent object states during flush()
 
1460
* allow "not null" as a discriminator value
 
1461
* added "parameters" config param to "sequence" generator (Matthias Bogaert)
 
1462
 
 
1463
Changes in version 2.1 beta 4 (3.10.2003)
 
1464
-----------------------------------------
 
1465
* fixed a bug where <any> mappings did not handle proxies correctly
 
1466
* implemented new optimistic-lock strategies
 
1467
* fixed several bugs in Criteria query API
 
1468
* fixed a bug caching property-ref associations
 
1469
* improvements to XML Databinder (Ara Abrahamian)
 
1470
* added Session.replicate() and ReplicationMode
 
1471
* added ScrollableResults.setRowNumber() / ScrollableResults.getRowNumber()
 
1472
* added query cache and Query.setCacheable()
 
1473
* added Criteria.returnMaps()
 
1474
* fixed some problems with CGLIB proxies
 
1475
* fixed an NPE that occurred when a joined-subclass of a versioned entity defined only collections
 
1476
* added the access attribute, direct field access and the PropertyAccessor extension point
 
1477
* added MatchMode for use with Criteria queries (thanks to Michael Gloegl)
 
1478
* fixed a bug where some lazy="false" collections were not immediately initialized
 
1479
* fixed problem with WebSphere 5 TransactionManager
 
1480
* support schema attribute in MySQL, by using an underscore in the table name (Chris Hane)
 
1481
* now seperate Dialects for Interbase and Firebird (Reha Cenani, Max Andersen)
 
1482
* removed built-in PreparedStatement cache
 
1483
* added Session.getSessionFactory()
 
1484
* fixed problem with native SQL queries and Query.setProperties() (Max Andersen)
 
1485
* Query now fully validates parameters against the query string before passing them to JDBC (Max Andersen)
 
1486
* fixed an NPE in SessionFactory.close()
 
1487
* fixed an NPE that occurred when using <idbag>s
 
1488
* added SQL-level query results paging to DB2Dialect
 
1489
* "foreign" id generator now handles detached instances
 
1490
 
 
1491
Changes in version 2.1 beta 3 (7.9.2003)
 
1492
----------------------------------------
 
1493
* added Example queries
 
1494
* fixed an exception that occurred at startup with <key-many-to-one> and <joined-subclass>
 
1495
* fixed a bug where composite-elements were not being updated if a property not in the equals() was changed
 
1496
* <parent> property of a composite-element may now be used in equals()
 
1497
* named parameters may now be used in HQL order by clause
 
1498
* null value of version property now indicates unsaved instance
 
1499
* added select-before-update attribute
 
1500
* two-phase loading now use for components
 
1501
* better implementation of equals()/hashCode() for proxies
 
1502
* added property-ref attribute to <many-to-one>
 
1503
* renamed result() to uniqueResult()
 
1504
* added Session.get()
 
1505
* added HashtableCacheProvider
 
1506
* JTA TransactionManager now used even when not using Hibernate Transaction API
 
1507
* always bypass process-level cache for LockMode.READ
 
1508
 
 
1509
Changes in version 2.1 beta 2 (27.8.2003)
 
1510
-----------------------------------------
 
1511
* <subclass> and <joined-subclass> may now appear outside of a <class> element, by providing the extends attribute (Max Andersen)
 
1512
* fixed an NPE at startup that was introduced in beta 1
 
1513
* fixed a bug in Map.putAll()
 
1514
* new pluggable cache API
 
1515
- deprecated <jcs-cache> in favor of <cache>
 
1516
- net.sf.hibernate.cache.CacheProvider settable via hibernate.cache.provider_class
 
1517
* more aggressive caching
 
1518
* added Hibernate.close(Iterator)
 
1519
* Criteria queries may now include joins
 
1520
- Criteria.addJoin()
 
1521
- Criteria.createCriteria()
 
1522
* hibernate.transaction.manager_lookup_class should now ALWAYS be specified in JTA environment when using jcs caching
 
1523
* fixed a bug caching <key-many-to-one>
 
1524
* fixed bug where cached component did not get <parent> property populated
 
1525
* added hibernate.max_fetch_depth property
 
1526
* smarter outer-join fetching
 
1527
* transient object may now be associated with session using Session.lock()
 
1528
* added Query.result(), Criteria.result()
 
1529
 
 
1530
Changes in version 2.1 beta 1 (10.8.2003)
 
1531
-----------------------------------------
 
1532
* batch-size attribute for collection and class mappings, to allow batch loading
 
1533
* collections of "value types" (including composite-elements) may now appear in HQL from clause
 
1534
* more efficient loading of collections, and better handling of non-lazy collections
 
1535
* added HQL index() function to allow access to collection element index
 
1536
* added Session.createSQLQuery() (Max Andersen)
 
1537
* added outer-join attribute to collection mappings
 
1538
* Criteria.setFetchMode() now applies to collection-valued path expressions
 
1539
* added property-ref attribute to <one-to-one>, enabling unique foreign key associations
 
1540
* added hibernate.max_fetch_depth config property
 
1541
* added hibernate.hbm2ddl.auto config property
 
1542
* fixed a bug with combination of <jcs-cache> and <key-many-to-one>
 
1543
* support for Dialect-specific SQL functions in HQL select clause (David Channon)
 
1544
* added Session.clear()
 
1545
 
 
1546
Changes in version 2.0.2 (2.8.2003)
 
1547
-----------------------------------
 
1548
* subqueries may now use HAVING and GROUP BY clauses
 
1549
* fixed a bug with setMaxResults(), setFirstResult() in HSQL (introduced in 2.0.1)
 
1550
* fixed a bug in Set.removeAll()
 
1551
* fixed a bug in SchemaUpdate (Mathias Bogaert)
 
1552
* added weak typing functionality to ScrollableResults
 
1553
* fixed a bug with "calendar" versioning in IBM JDK1.3.1 (workaround for JDK bug)
 
1554
* fixed a bug in mapping DTD that caused a problem for hbm2java (Max Andersen)
 
1555
* fixed a bug querying nested components
 
1556
* SQL generation now prefers ANSI-style inner joins to theta inner joins
 
1557
* fixed a bug caching collection references loaded using FETCH
 
1558
* fixed a bug with composite foreign keys in normalized table mappings (Tom Sedge)
 
1559
* limit support for Interbase (Ludovic Orban)
 
1560
* added where attribute to <class> mappings
 
1561
* added cascade="all-delete-orphan" for collection mappings
 
1562
* fixed a bug binding named parameters with setMaxResults()/setFirstResults()
 
1563
* fixed some minor bugs in HQL translator
 
1564
* fixed a long-standing bug where a <key-many-to-one> could not be dereferenced in HQL
 
1565
* SQL UPDATEs now occur in a predictable order (same order as objects were loaded)
 
1566
* support for SELECT ... FOR UPDATE in SAPDB
 
1567
* fixed bug where Criteria queries against a subclass also returned superclass instances
 
1568
* fixed a very rare bug where an update could get lost with normalized mappings
 
1569
* fixed a problem with proxied class heirarchies rooted at an interface or abstract class
 
1570
* where and order-by attributes now allow SQL function calls and subselects
 
1571
* added formula attribute to <property> tag, to allow "computed" properties
 
1572
* fixed a bug where PreparedStatements were sometimes not closed when an exception occured
 
1573
* workaround for a problem with <joined-subclass> and Interceptor.onFlushDirty()
 
1574
 
 
1575
Changes in version 2.0.1 (17.6.2003)
 
1576
------------------------------------
 
1577
* fixed some problems with new dialect-specific LIMIT clauses
 
1578
* improved parsing of collection where attribute
 
1579
* made one-to-many bags more efficient (they are really sets!)
 
1580
* allowed type="calendar" for <version> properties
 
1581
* fixed a bug with locking a versioned composite-id class
 
1582
* refresh() may now take a transient instance
 
1583
* added ProxoolConnectionProvider (Martin Crawford)
 
1584
* fixed some minor JCA issues (Mike Mosiewicz)
 
1585
* fixed a bug with FETCH and sorted associations
 
1586
* improved performance of SchemaUpdate tool (Teodor Danciu)
 
1587
* fixed a bug in Configuration.addFile(String) (Ken Geis)
 
1588
* tidied up and documented hbm2ddl package (esp. Ant tasks)
 
1589
* deprecated CounterGenerator in favor of IncrementGenerator
 
1590
* improved logging during initialization
 
1591
* deprecated "vm" in favor of "increment" id generator
 
1592
 
 
1593
Changes in version 2.0 final (8.6.2003)
 
1594
---------------------------------------
 
1595
* added "fetch" keyword to HQL
 
1596
* added evict() methods to SessionFactory for JVM-level cache
 
1597
* destroy caches from SessionFactory.close()
 
1598
* fixed an NPE in Session.evict() (Simon Spero)
 
1599
* added Query.setLockMode()
 
1600
* tidied up implementation of Loader
 
1601
* release ResultSets more aggressively
 
1602
* miscellaneous improvements to some Dialects
 
1603
* hbm2java now honors the sort attribute (Max Andersen)
 
1604
* added exceptions to Interceptor interface
 
1605
* fixed problem with setMaxResults(), setFirstResult() in Oracle (introduced in beta 6)
 
1606
* fixed some SQL generation that was a problem for Sybase (Dietmar Posselt)
 
1607
* fixed some problems with ODMG API (Oliver Gries)
 
1608
* added JOTMTransactionManagerLookup (Low Heng Sin)
 
1609
* added JOnASTransactionManagerLookup (?)
 
1610
* fixed a bug in WeblogicTransactionManagerLookup (Mathias Bogaert)
 
1611
* added Criteria.setFetchMode()
 
1612
* added new Expressions
 
1613
* much more elegant/robust handling of quoted identifiers
 
1614
* renamed Hibernate.association() to Hibernate.entity()
 
1615
* added dynamic-update and dynamic-insert mapping attributes
 
1616
* fixed a bug with refresh() of objects with collections
 
1617
* HQL aliases now optional - "from Cat" now legal
 
1618
* platform-independant quoting of identifiers using backticks
 
1619
 
 
1620
Changes in version 2.0 beta 6 (10.5.2003)
 
1621
-----------------------------------------
 
1622
* fixed a bug querying one-to-many associations to a <joined-subclass>
 
1623
* added support for dialect-specific LIMIT-style clauses (David White)
 
1624
* added <idbag>
 
1625
* fixed bug in hashCode() of persistent collections
 
1626
* <joined-subclass> now supported in HSQL (Wolfgang Jung)
 
1627
* fixed problem for XML parsers which ignore default values declared in DTD
 
1628
* <meta> tags can now be set to not be inheritable
 
1629
* fixed bug in Expression.in()
 
1630
* fixed an NPE that could occur from update() in very strange cases (Chris Nockleberg)
 
1631
* disabled outer-join back to owner when initializing one-to-many (performance improvement)
 
1632
* fixed a bug in Query.setParameterList() (Nick Heudecker)
 
1633
* improved JCA support (Igor Fedorenko)
 
1634
 
 
1635
Changes in version 2.0 beta 5 (21.4.2003)
 
1636
-----------------------------------------
 
1637
* Informix support (Steve Molitor)
 
1638
* fixed a bug parsing "select new ... " queries
 
1639
* deprecated "object" type in favor of <any> mappings
 
1640
* added Session.contains()
 
1641
* added extra DBCP config options (Alex Burgel)
 
1642
* SessionFactory.close() now unbinds from JNDI
 
1643
* added Session.evict()
 
1644
* got rid of an unnecessary SQL DELETE issued when an empty collection was dereferenced
 
1645
* where attribute of collection mappings no longer ignored for deletion
 
1646
* improved logging
 
1647
* support polymorphic associations to "embedded" composite id classes
 
1648
* various bugfixes to collection filter parameter binding
 
1649
* fixed some problems with proxies introduced in earlier beta versions
 
1650
* fixed bug with self-reference in the case of identity column id generation
 
1651
* added hibernate.cglib.use_reflection_optimizer property
 
1652
* added nonstrict-read-write cache
 
1653
* fixed an SQL-generation bug in new Criteria API
 
1654
* added CompositeUserType
 
1655
* sequence and table id generators now aware of default-schema
 
1656
* added update and insert attributes to <component> element
 
1657
* fixed a bug with expressions like elements(foo.bar.baz) in where clause
 
1658
* more efficient Set initialization (two-phase load)
 
1659
* removed support for hibernate.query.imports and added <import> mapping element
 
1660
* fixed problem in DBCP connection validation and added new config properties
 
1661
* hbm2java can now generate finder methods for persistent objects (experimental) (Matt Hall)
 
1662
* hbm2java small fixes/refactorings to support generating more than one file per persistent object (Max Andersen)
 
1663
 
 
1664
Changes in version 2.0 beta 4 (22.3.2003)
 
1665
-----------------------------------------
 
1666
* Major HQL improvements
 
1667
- from "Foo as foo join foo.bars as bar" instead of "from foo in class Foo, bar in elements(foo.bars)"
 
1668
- "select new Foo(bar.name, bar.amount) from ...."
 
1669
- outer and full join support
 
1670
* Query methods now return this, to allow chaining
 
1671
* FrontBase support (Run Lussier)
 
1672
* experimental JCA support (Daniel Bradby)
 
1673
* hbm2java now can generate Beans style property events (Klaus Zimmermann)
 
1674
* support SQL identifiers quoted with []
 
1675
* fixed bug with PostgreSQL
 
1676
* name attribute now optional in .cfg.xml
 
1677
* support for postgres ilike operator (M Lang)
 
1678
* squash warnings with GNU JAXP (Chris Nockleberg)
 
1679
* fixed a bug in Query.setParameterList()
 
1680
* Ingres support (Ian Booth)
 
1681
* collections now detect changes not made via wrapper for newly saved objects
 
1682
* new (experimental) Criteria + Expression APIs
 
1683
* Query.setEntity(), etc, now aware of proxies (also improved hueristics for guessing Type)
 
1684
* added Hibernate.isInitialized()
 
1685
* detect changes made directly to newly-wrapped collection (ie. not via the wrapper)
 
1686
* added Hibernate.refresh(Object, LockMode)
 
1687
* update(), saveOrUpdate() no longer initialize a proxy
 
1688
* fixed problems with Sybase
 
1689
* added force attribute to <discriminator>
 
1690
* improved handling of null discriminator-value
 
1691
* support SQL-style '' escape for HQL strings
 
1692
 
 
1693
Changes in version 2.0 beta 3 (24.2.2003)
 
1694
----------------------------------------
 
1695
* collections now represent null elements as a missing row
 
1696
* collections now deserialize correctly (fix for bug in beta 2)
 
1697
* standardised on dom4j for XML parsing
 
1698
* fixed bugs in collection caching (an exception occurred for some sorted collections and some kinds of maps)
 
1699
* allowed null discriminators
 
1700
* set autocommit to true in SchemaUpdate
 
1701
* fixed a stack overflow that could occur in toString() of classes created with hbm2java (Max Andersen)
 
1702
* fixed a bug where composite-element <parent> property was not being set after retrieval from cache
 
1703
* added where attribute to collection mappings to allow filtering
 
1704
* fixed a exception that occurred when wrapping collections with sort="MyComparator" (Jason Horne)
 
1705
* objects with mutable="false" are now never updated
 
1706
* fixed an exception that occurs with <key-many-to-one> association to a class with a composite id (Stefano Travelli)
 
1707
* added SchemaExport Ant task (Rong C Ou)
 
1708
* integrated latest CGLIB release (Juozas Baliuka)
 
1709
- added support for new CGLIB reflection optimizer (Juozas Baliuka)
 
1710
* improved query cache algorithm (Who?)
 
1711
* fixed a bug in "object" type
 
1712
* Lists and arrays now represent null elements as a missing row
 
1713
* fixed a bug in Hibernate PreparedStatement cache where maxRows and fetchSize were not cleared before re-caching
 
1714
* fixed a bug in HibernateService that caused a restart to fail
 
1715
* added SybaseAnywhereDialect (?)
 
1716
* added SessionFactory.close()
 
1717
 
 
1718
Changes in version 2.0 beta 2 (2.2.2003)
 
1719
----------------------------------------
 
1720
* property column names may now be of any length (Mark Woon)
 
1721
* fixed problem where CodeGenerator created private get/set pairs (Max Andersen)
 
1722
* fixed all silly bugs in Configuration.configure()
 
1723
* efficient collection updates from Session.update()
 
1724
* added <jcs-class-cache> and <jcs-collection-cache> elements to hibernate-configuration.dtd
 
1725
* support for normalized mappings for databases with DECODE instead of CASE (Simon Harris)
 
1726
* added Oracle9Dialect
 
1727
* added JRun4TransactionManagerLookup (Joseph Bissen)
 
1728
* fixed JDBCException to keep reference to underlying SQLException
 
1729
* fixed a bug loading many-to-many associations with a repeated column name
 
1730
* fixed a bug in ShortType
 
1731
* added IngresDialect (Ian Booth)
 
1732
* added --config option to SchemaExport
 
1733
 
 
1734
Changed in version 2.0 beta 1 (28.1.2003)
 
1735
-----------------------------------------
 
1736
* renamed packages to net.sf.hibernate.*
 
1737
* all API methods now wrap SQLExceptions
 
1738
* removed support for toplevel collections / subcollections
 
1739
* created hibernate-mapping-2.0.dtd
 
1740
- renamed 'readonly' attribute to 'inverse'
 
1741
- renamed 'role' attribute to 'name'
 
1742
- changed default value for 'unsaved-value' to "null"
 
1743
- added mandatory 'name' attribute to <param>
 
1744
- added <meta> tag
 
1745
* created hibernate-configuration-2.0.dtd
 
1746
* brand new Configuration API, including exposed mapping package
 
1747
* completely reworked IdentifierGenerator framework
 
1748
- built-in generators now auto-detect the type (so integer identity columns are supported, for example)
 
1749
- parameters are now named
 
1750
- built-in strategies are renamed
 
1751
* expanded Interceptor interface
 
1752
* removed exceptions that occur if an object is saved or deleted multiple times in a session
 
1753
* added <parent> subelement to <composite-element> and <nested-composite-element>
 
1754
* collections except for <bag>s now implement by-value equals() and hashCode()
 
1755
* removed all deprecated methods
 
1756
* added Session.refresh()
 
1757
* added dynamic-update functionality
 
1758
* added update and insert attributes to <property> and <many-to-one> mappings
 
1759
* added elements(), indices(), size(), maxelement(), minelement(), maxindex(), minindex() collection functions to query language
 
1760
* huge improvements to CodeGenerator (Max Andersen)
 
1761
* enhanced outerjoin fetching support in queries
 
1762
* experimental support for DynaBeans as components
 
1763
 
 
1764
Changes in version 1.2.3 (28.1.2003)
 
1765
------------------------------------
 
1766
* fixed a recently-introduced problem with Timestamp dirty checking
 
1767
* added createClob(), createBlob() for streams (Benoit Menendez)
 
1768
* SchemaUpdate now configures Dialect correctly (Michael Locher)
 
1769
* update() now working for classes with embedded composite ids
 
1770
* unsaved-value attribute now recognized for <composite-id>
 
1771
* fixed a minor problem where a very specific kind of SQL select did not qualify a column name
 
1772
* added Query.getQueryString()
 
1773
* fixed an NPE that sometimes occurred when hibernate.connection.username was not specified
 
1774
* fixed a bug in SchemaExport where foreign key constraints did not use qualified tablenames
 
1775
* added isFirst(), isLast() to ScrollableResults
 
1776
* fixed bug finding properties inherited by mapped interfaces
 
1777
 
 
1778
Changes in version 1.2.1b (4.1.2003)
 
1779
------------------------------------
 
1780
* fixed an NPE that occurred while loading Hibernate classes in IBM JVM
 
1781
* arbitrary JNDI InitialContext properties may now be passed as hibernate.jndi.*
 
1782
* fixed a problem where index column was not being nullified when an entity was removed from a one-to-many
 
1783
 
 
1784
Changes in version 1.2.1 (31.12.2002)
 
1785
-------------------------------------
 
1786
* Changed the MySQL mapping of Hibernate "timestamp" to MySQL "DATETIME" (Matthias Schwinn)
 
1787
* TransactionManagerLookup classes now define defaut UserTransaction JNDI names
 
1788
* support for WebSphere 5 (Venkat Srinivasan)
 
1789
* fixed a bug with query expressions of the form "foo.bar.id" for normalized mappings
 
1790
* experimental Blob/Clob support (thanks to Benoit Menendez and Mark Woon)
 
1791
* improvements to SchemaUpdater (Benoit Menendez)
 
1792
* deprecated suspendFlushes() / resumeFlushes() in favor of FlushMode
 
1793
* deprecated IDGenerationException in favor of IdentifierGenerationException
 
1794
* fixed a bug introduced in 1.2 final where cascade save-update was sometimes ignored for readonly="true" bags
 
1795
* fixed a bug caching null-valued one-to-one associations
 
1796
* CodeGenerator now supports <bag> and <joined-subclass>
 
1797
* fixed problem with TimestampType on DB2 (Jonas)
 
1798
* fixed a bug in generated SQL for collections with <joined-subclass> mappings (Robson Miranda)
 
1799
* fixed a bug caching Maps (Benoit Menendez)
 
1800
* SchemaExport now accepts a .jar file as a source of mappings
 
1801
* hibernate.dbcp.validationQuery setting (Juozas Baliuka)
 
1802
* hibernate.c3p0.validate setting
 
1803
* added Query.setTimeout()
 
1804
* setMaxResults() now behaves sensibly on SAPDB (Russel Smyth)
 
1805
* added Query.setProperties() and Query.getNamedParameters(), fixed a bug in Query.getReturnTypes()
 
1806
* CodeGenerator now generates equals() and hashCode() for composite-id classes (and toString() for all classes)
 
1807
* CodeGenerator now includes superclass properties in subclass constructors (Max Andersen)
 
1808
* added Hibernate.custom()
 
1809
 
 
1810
Changes in version 1.2 final (7.12.2002)
 
1811
----------------------------------------
 
1812
* fixed a bug where uppercase IS NOT NULL, NOT IN, etc were not parsed correctly
 
1813
* addition to readonly="true" bags now no longer requires collection initialization
 
1814
* added ResinTransactionManagerLookup (Aapo Laakkonen)
 
1815
* improved exception message when setting null to primitive type (Max Andersen)
 
1816
* improved exception message for an unserializable identifier
 
1817
* support for overloaded setter methods (patch by Alex Staubo)
 
1818
* CodeGenerator support for <composite-element> (patch by Wolfgang Jung)
 
1819
 
 
1820
Changes in version 1.2 beta 4 (29.11.2002)
 
1821
------------------------------------------
 
1822
* fixed bugs in one-to-many associations to a <joined-subclass>
 
1823
* LockMode class now properly serializable
 
1824
* exceptions thrown by proxied objects are now propagated correctly (rather than being wrapped)
 
1825
* made Calendar types compilable in JDK1.2
 
1826
* added --format and --delimiter options to SchemaExport (thanks to Richard Mixon)
 
1827
* fix for problem with class with no properties + native id generation + MS SQL Server contributed by Max Andersen
 
1828
* fixed a BAD bug in Hibernate.configure() (thanks to Rob Stokes)
 
1829
* CodeGenerator now recognizes <key-many-to-one> (patch by Wolfgang Jung)
 
1830
* CodeGenerator now recognizes <version> and <timestamp> (patch by Max Andersen)
 
1831
 
 
1832
Changes in version 1.2 beta 3 (26.11.2002)
 
1833
------------------------------------------
 
1834
* fixed bug in UPDATE SQL generation for <joined-subclass> mapping strategy (fix by Robson Miranda)
 
1835
* support <composite-id> correctly in CodeGenerator (patch by Tom Cellucci)
 
1836
* fixed an exception that occurred with short qualified tablenames
 
1837
* added the polymorphism attribute to the <class> element
 
1838
* allow "not between", "not in" in query language
 
1839
* allow subqueries beginning with a from clause in query language
 
1840
* query expressions like "not (foo.bar.baz=1)" now translated to "(bar.baz!=1 and foo.bar=bar.id)"
 
1841
* support for PostgreSQL ~ operator (regular expression match)
 
1842
* load(id, lockMode) now working for normalized table mappings
 
1843
* now compiling properly under JDK1.2, 1.3 (fix by Tom Cellucci)
 
1844
* support for subcollections in query language: foo.bars[2]['index'], foo.bars[4].elements, foo.bars[0].size, etc.
 
1845
* added calendar and calendar_date types
 
1846
* find() queries may now return scalar values
 
1847
* component-type properties may appear in a select clause
 
1848
* ConnectionProviders now set isolation level before toggle autocommit
 
1849
* Iterator.next() now throws NoSuchElementException as per Iterator contract (fix by Alex Staubo)
 
1850
* database reverse engineering GUI tool contributed by Tom Cellucci
 
1851
* SchemaExport now generates column in mapping file order (rather than alphabetical order)
 
1852
* <joined-subclass> mappings working on Oracle (?)
 
1853
 
 
1854
Changes in version 1.2 beta 2 (15.11.2002)
 
1855
------------------------------------------
 
1856
* support multi-argument SQL functions in queries
 
1857
* reintroduced deprecated form of update() with slightly altered semantics
 
1858
* fixed BAD problem in the generated SQL for certain queries
 
1859
* added OrionTransactionManagerLookup
 
1860
 
 
1861
Changes in version 1.2 beta 1 (11.11.2002)
 
1862
------------------------------------------
 
1863
* Fixed a bad bug binding to JNDI with servers that use serialization in preference to getReference()
 
1864
* support for quoted SQL identifiers (patch by Jean-Francois Nadeau)
 
1865
* Hibernate.initialize() allows the user to force initialization of a proxy or persistent collection
 
1866
* fix to minor bug in CodeGenerator by Max Andersen
 
1867
* fixed a problem with outerjoin fetching of one-to-one associations defined on subclasses
 
1868
* fixed a minor problem with proxies of classes that override finalize()
 
1869
* finished work on normalized table mappings using <joined-subclass> declaration (only for databases with ANSI OUTER JOIN and CASE)
 
1870
* deprecated hibernate-mapping.dtd in favor of hibernate-mapping-1.1.dtd
 
1871
* reworked unmapped class / interface / table-per-concrete-class query functionality, fixing several problems
 
1872
* removed deprecated methods
 
1873
* deprecated findIdentifiers()
 
1874
* fixed some problems with embedded composite identifiers
 
1875
* fixed a bug cascading deletes to one-to-one associations
 
1876
* CodeGenerator now generates isFoo() style getters for boolean properties (patch by Aapo Laakkonen)
 
1877
* components may now have a nonpublic constructor (patch by Jon Lipsky)
 
1878
* changes / bugfixes to MapGenerator tool
 
1879
* experimental SchemaUpdate tool contributed by Christoph Sturm
 
1880
 
 
1881
Changes in version 1.1.8 (30.10.2002)
 
1882
-------------------------------------
 
1883
* full support for composite keys in query language
 
1884
* fixed bug where character type could not be null
 
1885
* fixed bug parsing collection filters like: "group by this.date"
 
1886
* fixed a bad bug where C3P0 properties were not always being used
 
1887
* replaced hibernate.use_jdbc_batch with hibernate.jdbc.batch_size
 
1888
* renamed some other properties to hibernate.jdbc.*
 
1889
* made hibernate.show_sql settable from JMX (patch by Matas Veitas)
 
1890
* added SessionFactory.getAllClassMetadata(), getAllCollectionMetadata (patch by Max Andersen)
 
1891
* allowed use of concrete-class proxies with inherited classes ie. <subclass name="ConcreteClass" proxy="ConcreteClass">
 
1892
* HibernateException extends Apache commons lang NestableException (patch by Max Andersen)
 
1893
* <parent> subelement of <component> allows a component to get a reference back to owning entity
 
1894
* Query.setParameterList() to bind lists of values to "in (:list)"
 
1895
* Java constants may now be used in Queries
 
1896
* serialization of an object graph now removes all initialized proxies
 
1897
* several other improvements to proxy handling
 
1898
* proxies may now be used in JDK 1.2
 
1899
 
 
1900
Changes in version 1.1.7 (25.10.2002)
 
1901
-------------------------------------
 
1902
* added Session.createFilter() 
 
1903
* fixed a bug parsing queries with properties of form idXXX (introduced in 1.1.6)
 
1904
* fixed a bug parsing queries with the id property named in the select clause (introduced in 1.1.6)
 
1905
* fixed a bug dirty checking big_decimal (fix by Andrea Aime)
 
1906
 
 
1907
Changes in version 1.1.6 (24.10.2002)
 
1908
-------------------------------------
 
1909
* classes without subclasses may now declare themselves as their own proxy
 
1910
* outer-join attribute now working for component properties and <many-to-many>
 
1911
* outer-join="true" will now force outerjoin loading for an association even if associated class has a proxy
 
1912
* enabled oracle-style outerjoins for SAP DB
 
1913
* version properties may now be long or short (previously always integer)
 
1914
* discriminators may now be boolean type
 
1915
* fixed the foo.bar.id.baz syntax for queries doing composite-key joins
 
1916
* fixed an NPE that occurred when no Dialect was specified
 
1917
* CodeGenerator now fully proxy-aware (patch by Max Andersen)
 
1918
* removed dependency upon trove4j
 
1919
 
 
1920
Changes in version 1.1.5b (20.10.2002)
 
1921
--------------------------------------
 
1922
* fixed an NPE that occurred on JMX startup
 
1923
* smarter fetching for one-to-one associations
 
1924
 
 
1925
Changes in version 1.1.5 (19.10.2002)
 
1926
-------------------------------------
 
1927
* added built-in currency and timezone types
 
1928
* hibernate-mapping-1.1.dtd
 
1929
- added <index-many-to-many> and <composite-index> subelements of <map>
 
1930
- added <key-property> and <key-many-to-one>
 
1931
- renamed "save/update" to "save-update"
 
1932
- tightened up the dtd (now using enumerated attribute types)
 
1933
* enabled multi-column map indexes (ie. key of a Map)
 
1934
* composited-id may now include a many-to-one association
 
1935
* improvements to Databinder contributed by Brad Clow
 
1936
* fixed bugs in minIndex, maxIndex, minElement, maxElement
 
1937
* fixed a problem with JTATransaction in a JBoss BMT bean
 
1938
* added addMapResource() to the MBean
 
1939
* minor improvements to Configuration
 
1940
* more accurate cache entry timestamping to increase the likelihood of cache hits
 
1941
* JCS cache may now be used with JTATransaction in WebSphere, Weblogic, JBoss (thanks to Matt Baird)
 
1942
* improvements to CodeGenerator contributed by Andrea Aime
 
1943
* stopped a TransientObjectException that was being thrown when it shouldn't be
 
1944
* re-enabled primary key export for tables of sets with not-null elements
 
1945
* hibernate.statement.fetch_size configuration contributed by Matas Veitas
 
1946
* added Interceptor application callback interface
 
1947
* added metadata package to expose persistence metadata to the application
 
1948
* changed filter() argument type from Collection to Object to allow filtering of arrays and Maps
 
1949
* added <column> index attribute to allow table indexes to be specified in mapping document
 
1950
* implemented support for queries against interfaces and abstract superclasses
 
1951
 
 
1952
Changes in version 1.1.4b (4.10.2002)
 
1953
-------------------------------------
 
1954
* fixed problems for JDK1.2 (thanks to Chris Webb)
 
1955
 
 
1956
Changes in version 1.1.4 (4.10.2002)
 
1957
------------------------------------
 
1958
* New locking API
 
1959
* disabled 2-phase load for objects contained in Sets (because they should be initialized before equals() or hashCode() is called)
 
1960
* fixed a bug where non-serializable cache entries could not be cached by JCS auxiliary cache
 
1961
* fixed a bug in dirty checking PersistentEnums
 
1962
* deprecated getID() in favor of getIdentifier() (for mainly cosmetic reasons)
 
1963
* HibernateService may now be subclassed to obtain mapping files by some other mechanism (patch by Chris Winters)
 
1964
 
 
1965
Changes in version 1.1.3 (1.10.2002)
 
1966
------------------------------------
 
1967
* new 2-phase loading process (replaces complicated "deferred" loading process)
 
1968
* new ScrollableResults interface for efficiently navigating Query results
 
1969
* removed deprecated interfaces
 
1970
* created engine package to hold "internal" APIs (ie. the external contract of the impl package)
 
1971
* fixed bug where a component defined before all collections in the mapping file caused collections to not be persisted (thanks to Michael Link)
 
1972
* fixed a bug where cascaded saveOrUpdate was ignoring the unsaved-value setting
 
1973
* faster Timestamp dirty checking
 
1974
 
 
1975
Changes in version 1.1.2 (29.9.2002)
 
1976
------------------------------------
 
1977
* added persister attibute of class mapping to support custom persistence strategies
 
1978
* Support for Oracle outerjoins contributed by Jon Lipsky
 
1979
* Reworked versioning, fixing bugs (and tightening tests)
 
1980
* Fixed a bug where an ObjectNotFoundException was thrown for null one-to-one associations
 
1981
* fixed problems with timestamps introduced in 1.1.1
 
1982
* added batch file for running demo
 
1983
 
 
1984
Changes in version 1.1.1 (27.9.2002)
 
1985
------------------------------------
 
1986
* Major refactoring / abstraction of persistence logic
 
1987
* added maxIndex, minIndex, maxElement, minElement properties for collections
 
1988
* added support for class names in where clause of queries
 
1989
* fixed a bug where an association could become null after caching
 
1990
* fixed a bug where an NPE could occur for a null component
 
1991
* fixed minor bugs in SortedMap, SortedSet
 
1992
* object type is now cacheable
 
1993
* added big_integer type
 
1994
* improved dirty checking for timestamp type
 
1995
 
 
1996
Changes in version 1.1.0 (22.9.2002)
 
1997
------------------------------------
 
1998
* implemented collection indexing with [] in query language
 
1999
* fixed some minor query-language bugs
 
2000
 
 
2001
Changes in version 1.1 beta 14 (19.9.2002)
 
2002
------------------------------------------
 
2003
* bags now implement java.util.List
 
2004
* delete() may now take a transient object
 
2005
* bug where sorted collections were not being sorted fixed by Brad Clow
 
2006
* fixed a bug in many-to-many association filtering
 
2007
* no longer try to query connection metadata when using user-supplied connections
 
2008
* added hibernate.use_scrollable_resultsets for user-supplied connections
 
2009
* fixed a problem where sublists were not being proxied
 
2010
* fixed a problem where Hibernate could not call methods of package-visibility classes
 
2011
* removed obsolete select attribute from MapGenerator
 
2012
* multiple occurrences of same path in a query no longer require multiple joins
 
2013
* added WrongClassException
 
2014
 
 
2015
Changes in version 1.1 beta 13 (15.9.2002)
 
2016
------------------------------------------
 
2017
* added constants to Lifecycle interface
 
2018
* fix for circular cascade="save/update"
 
2019
* fixed a bug in cascaded update introduced in version 1.1 beta 11
 
2020
* added object type
 
2021
 
 
2022
Changes in version 1.1 beta 12 (14.9.2002)
 
2023
------------------------------------------
 
2024
* Session.filter() for applying a filter query to collections
 
2025
* experimental ODMG API (OQL features are not yet compliant)
 
2026
* new DBCPConnectionProvider for Apache commons-dbcp connection pool
 
2027
* Session.lock() now does version number check even on databases with no FOR UPDATE clause
 
2028
* introduced new cascade styles: cascade="save/update", cascade="delete"
 
2029
* added default-cascade attribute
 
2030
* foreign key columns lengths now automatically set to primary key column lengths for SchemaExport
 
2031
* added error checking of row update counts when batching disabled
 
2032
* major improvements to ProxyGenerator tool
 
2033
* CodeGenerator now aware of proxy attribute
 
2034
* integrated PointbaseDialect contributed by Ed Mackenzie
 
2035
* fix for problem where Proxies were being initialized on identifier access by Christoph Sturm
 
2036
 
 
2037
Changes in version 1.1 beta 11 (7.9.2002)
 
2038
-----------------------------------------
 
2039
* deprecated update() in favor of saveOrUpdate() and introduced unsaved-value attribute of <id>
 
2040
* children mapped with cascade="all" are now always saved/updated even without a call to update(parent)
 
2041
* support for composite-id classes where the composite id consists of properties of the persistent class
 
2042
* added constrained attribute to <one-to-one> element
 
2043
* added Validatable interface
 
2044
* renamed several config properties (Hibernate issues log warnings for obsolete property usage)
 
2045
* arbitrary JDBC connection properties may now be passed using hibernate.connection.*
 
2046
* fixed a classloading bug in C3P0ConnectionProvider (introduced in 1.1 beta 10)
 
2047
* CodeGenerator may now take multiple mapping files on the commandline
 
2048
 
 
2049
Changes in version 1.1 beta 10 (28.8.2002)
 
2050
------------------------------------------
 
2051
* fixed a bug that occurred when calling Session.update() for an object with no properties
 
2052
* changed class loading to use the context classloader first
 
2053
* introduced <timestamp> as an alternative to <version>
 
2054
* added Query.getReturnTypes()
 
2055
* fixed a bug with composite-elements introduced in 1.1 beta 7
 
2056
* save() may now be used to persist classes with composite-ids
 
2057
* improved handling of nanoseconds values in Timestamps
 
2058
* support for composite id properties + objects in select clause of iterate()
 
2059
* beefed-up collection tests
 
2060
 
 
2061
Changes in version 1.1 beta 9 (26.8.2002)
 
2062
-----------------------------------------
 
2063
* fixed a bug introduced in 1.1 beta 8 that could cause an NPE after deserializing a session with proxies
 
2064
* deprecated insert() in favor of more flexible save()
 
2065
* deprecated IDGenerator in favor of new IdentifierGenerator interface
 
2066
* "assigned" id generator now returns the existing value of the id property instead of throwing an Exception
 
2067
* fixed a problem where PreparedStatements were not being recached after retrieving a natively generated id
 
2068
 
 
2069
Changes in version 1.1 beta 8 (25.8.2002)
 
2070
-----------------------------------------
 
2071
* fixed a bug introduced in 1.1 beta 6 where an updated element of an indexed one-to-many collection caused an SQLException
 
2072
* uninitialized collections passed to update() may now be initialized in the new Session
 
2073
* uninitialized proxies passed to update() may now be initialized in the new Session
 
2074
 
 
2075
Changes in version 1.1 beta 7 (23.8.2002)
 
2076
-----------------------------------------
 
2077
* fixed a bug where Hibernate was not returning statements to the cache when batch updates were disabled
 
2078
* fixed a bad bug parsing mappings with toplevel one-to-many associations
 
2079
* fixed a bug with versioning and subcollections
 
2080
* reworked Set updates again for much improved efficiency
 
2081
* schema export now creates primary keys for indexed collection tables
 
2082
* minor refactor to Type hierarchy
 
2083
* improved some user-error detection
 
2084
* fixed foreign key constraint creation for MySQL with Innodb tables
 
2085
 
 
2086
Changes in version 1.1 beta 6b (20.8.2002)
 
2087
------------------------------------------
 
2088
* Fixed a problem updating Sets
 
2089
* added <bag> mapping for java.util.Collection
 
2090
 
 
2091
Changes in version 1.1 beta 6 (20.8.2002)
 
2092
-----------------------------------------
 
2093
* completely reworked fetching code
 
2094
- one-to-many associations now always fetched in a single select
 
2095
- many-to-many associations fetched in a single select when outerjoin fetching is enabled 
 
2096
- this includes nested outerjoin fetching of the associated class!
 
2097
- outerjoin fetching for <many-to-one> nested inside <component> or <composite-element>
 
2098
- code refactored to be cleaner and faster
 
2099
* removed unnecessary order by clause in List and array fetching SQL
 
2100
* collections now individually update, insert and delete only rows that changed (thanks to Doug Currie)
 
2101
* fixed a problem where exceptions were being wrapped in a LazyInitializationException for non-lazy collections
 
2102
* added order-by attribute to <set> and <map> to specify a table column as defining the iteration order (JDK1.4 only)
 
2103
* improved error detection in Session.update()
 
2104
* further usage of JDBC2 batch updates
 
2105
* some fine-tuning of JDBC2 feature usage configuration
 
2106
* CodeGenerator will now generate components and arrays
 
2107
* fixed problem where CodeGenerator could not generate classes in the default package
 
2108
* improved logging of flush() activity
 
2109
* renamed property hibernate.use_jdbc2 to hibernate.use_jdbc_batch
 
2110
 
 
2111
Changes in version 1.1 beta 5 (13.8.2002)
 
2112
-----------------------------------------
 
2113
* hibernate.query.imports property to allow use of unqualified classnames in queries
 
2114
* fixed a bug in collection flushing that was introduced in 1.1 beta 4
 
2115
 
 
2116
Changes in version 1.1 beta 4 (11.8.2002)
 
2117
-----------------------------------------
 
2118
* JMX integration (thanks to John Urberg)
 
2119
* "having" clause in query language
 
2120
 
 
2121
Changes in version 1.1 beta 3 (10.8.2002)
 
2122
-----------------------------------------
 
2123
* removed the select="all" attribute for <class> mappings - "select distinct" now specified in the hibernate query
 
2124
* system properties now override hibernate.properties
 
2125
* Session now flushes changes even less often (only when actual updates to the queried table(s) are waiting)
 
2126
* fixed a *very* rare problem where an unnecessary update could be accidently issued before a delete
 
2127
 
 
2128
Changes in version 1.1 beta 2 (6.8.2002)
 
2129
----------------------------------------
 
2130
* fixed a bug exporting schemas with identity columns
 
2131
* implemented factory-level caching of collections
 
2132
* Datastore.storeJar() contributed by Christian Meunier
 
2133
* added <mapping jar="jarfile"> to hibernate.cfg.xml
 
2134
 
 
2135
Changes in version 1.1 beta 1 (4.8.2002)
 
2136
----------------------------------------
 
2137
* new Query API including named parameters, pageable results
 
2138
* subqueries in Hibernate queries (only for databases that support subselects)
 
2139
* new DocBook documentation (contributed by Christian Bauer)
 
2140
* support collections .elements, .indices inside select clause (even in aggregate functions)
 
2141
* don't load collections before removal unless absolutely necessary
 
2142
* mutable="false" attribute in <class> element to map immutable classes
 
2143
* use JDBC batch to insert collection elements if hibernate.use_jdbc2 is set
 
2144
* brand new PreparedStatementCache
 
2145
* improvements to MYSQL dialect for long datatypes
 
2146
* always check isAccessible() before setAccessible(true)
 
2147
* removed extra unnecessary table join in queries with one-to-many association
 
2148
* removed ugly "WHERE 1=1" from generated SQL
 
2149
* fixed exception mapping a class with no properties (fix by Rob Stokes)
 
2150
* logging enhancements including SQLException logging
 
2151
* reworked factory-level cache and integrated JCS support (thanks to Christian Meunier)
 
2152
* fixed a bug with circular references in cached data
 
2153
* removed blocking cache support
 
2154
* now rendering outerjoins as "LEFT OUTER JOIN" because "LEFT JOIN" caused problems for some Sybase versions
 
2155
* added default Hibernate properties to Dialects
 
2156
* native id generation now falls back to sequence id generation when identity columns not supported by the dialect
 
2157
* fixed some problems with native id generation under HSQL
 
2158
* may now use Session.insert() even when using native id generation
 
2159
 
 
2160
Changes in version 1.0.1b (18.7.2002)
 
2161
-------------------------------------
 
2162
* fixed a bad bug in query parser when hibernate.query.substitutions was unset
 
2163
* much improved build.xml Ant script
 
2164
* latest c3p0.jar
 
2165
 
 
2166
Changes in version 1.0.1 (17.7.2002)
 
2167
------------------------------------
 
2168
* enabled use of scalar values and aggregate SQL functions in select clause of iterate() queries
 
2169
* fixed bug in JNDI lookup for SessionFactory
 
2170
* changed ordering of SQL inserts/deletes for child collections of a cascade-enabled association 
 
2171
- better behaviour for some not-null constraints
 
2172
- performance optimization for bidirectional many-to-one associations
 
2173
* added hibernate.query.substitutions property to allow named query constants (eg. translate 'true' to '1')
 
2174
* added locale type for java.util.Locale
 
2175
* added sequence hi/lo generator (seqhilo.long)
 
2176
* fixed bug where load(), onLoad() callbacks were sometimes called at wrong time
 
2177
* fixed an exception (fix by Eric Everman) and improved identifier searching in MapGenerator tool 
 
2178
* refactored SerializableType
 
2179
* extra logging + error handling
 
2180
* documentation enhancements
 
2181
 
 
2182
Changes in version 0.9.17 (3.7.2002)
 
2183
------------------------------------
 
2184
* Added UserType interface
 
2185
* documented Lifecycle
 
2186
* added some new trace messages to log
 
2187
* bugfix to allow SQL functions like upper(), lower(), etc to work on all platforms
 
2188
* documented SAP DB support (dialect contributed by Brad Clow)
 
2189
* foreign key constraint export for SAP DB
 
2190
* map index may be the composite-id of the element class (contributed by Jon Lipsky)
 
2191
* fixes to CodeGenerator tool (contributed by Uros Jurglic)
 
2192
 
 
2193
Changes in version 0.9.16 (19.6.2002)
 
2194
------------------------------------
 
2195
* fixed bug cacheing objects with references to themselves
 
2196
* support for composite ids of classes with no id property
 
2197
* may now disable outer join (deep) fetching for an association by setting outer-join="false"
 
2198
* enabled outer join fetching for one-to-one
 
2199
* fixed a bug for mappings that specify class attribute of <one-to-many>
 
2200
* fixed a bug where Hashbelt did not expire cached data in a timely fashion
 
2201
* fixed a mistake in the mapping DTD
 
2202
* new user-error check in update()
 
2203
 
 
2204
Changes in version 0.9.15 (15.6.2002)
 
2205
------------------------------------
 
2206
* one-to-one associations
 
2207
* support for "tricky" mappings in SchemaExport tool (multiple properties to one column, etc)
 
2208
* Transaction API contributed by Anton van Straaten
 
2209
* SessionFactory may be bound to JNDI name by setting hibernate.session_factory_name
 
2210
* Sessions are now Serializable!
 
2211
* added Session.findIdentifiers() query methods
 
2212
* new Lifecycle interface to replace deprecated PersistentLifecycle
 
2213
* fixed problem where session did not autoflush on iterate() queries
 
2214
* performance enhancements to collection dirty checking
 
2215
* added Hibernate.configure() and configuration file format
 
2216
* removed some deprecated methods
 
2217
* refactored Type hierarchy
 
2218
* query language identifiers now case sensitive (bugfix for case sensitive SQL dialects)
 
2219
* username/password now optional for datasource (contributed by Emmanuel Bourg)
 
2220
* much improved API documentation
 
2221
* binary types now saved using streams if hibernate.use_streams_for_binary=true (contributed by Jon Lipsky)
 
2222
* MySQL Strings now mapped to TEXT columns if length > 255 (contributed by Christoph Beck)
 
2223
 
 
2224
Changes in version 0.9.14 (4.6.2002)
 
2225
-------------------------------------
 
2226
* lifecycle objects - properties now have a cascade attribute to cascade save, update, delete
 
2227
* composite id properties may now be used in queries eg. foo.id.bar (contributed by Jon Lipsky)
 
2228
* slightly changed semantics of update() so it now also save()s new transient instances
 
2229
* Session now flushes() itself less often before query execution (performance enhancement)
 
2230
* fixed problem where Session.save() returned null instead of the natively generated id
 
2231
* fixed bug with object identity for cached classes
 
2232
* fixed bug where delete(x) could not be called after update(x)
 
2233
* MUCH improved Exception hierarchy
 
2234
* deprecated create()
 
2235
* added sql-type attribute to <column> tag to allow user to override default type mapping
 
2236
* deeper fetching with use_outer_join
 
2237
* new ConnectionProvider framework
 
2238
* fixed a bug where blocking cache could return stale data
 
2239
* now working again in JDK1.2.2
 
2240
* fixed problem with not-null associations + native key generation
 
2241
* minor changes to PersistentLifecycle interface
 
2242
* initial, minimal version of new Transaction mechanism
 
2243
* MUCH improved documentation
 
2244
 
 
2245
Changes in version 0.9.13 (25.5.2002)
 
2246
-------------------------------------
 
2247
* Datastore.storeResource() to load mapping files from classpath
 
2248
* fixed a problem executing under JDK1.3 when compiled from JDK1.4
 
2249
* documentation improvements
 
2250
 
 
2251
Changes in version 0.9.12 (24.5.2002)
 
2252
------------------------------------
 
2253
* Session.update() methods to update a persistent instance from transient copy (as requested by many users)
 
2254
* discriminator column name, type, length, etc now configurable by <discriminator> tag in mapping file
 
2255
* discriminator column values configurable by discriminator-value attribute of <class> and <subclass> tags
 
2256
* added Session.insert(object, id) for classes with no identifier property
 
2257
* fixed another bad bug with connection handling (fix by Anton van Straaten)
 
2258
* fixed a problem with deferred loading
 
2259
* fixed a problem with sorted collections (fix by Anton van Straaten)
 
2260
* nested collections of objects now require 2 SQL SELECTs to load, rather than size+1
 
2261
* session is NO LONGER atomic - application should discard session when exception occurs
 
2262
* fixed problem where character type was mapped to VARCHAR column
 
2263
* arrays of proxies now possible by using new element-class attribute of <array> tag
 
2264
* fixed various problems with proxies
 
2265
* added proxy generation tool
 
2266
* proxy unit tests
 
2267
* replaced two RuntimeExceptions with checked exceptions
 
2268
* made hibernate.username/hibernate.password optional for DriverManager
 
2269
* CodeGenerator now supports all hibernate basic types
 
2270
* much improved caching algorithm for compiled queries
 
2271
* may now specify properties simply by placing hibernate.properties in classpath
 
2272
* documentation improvements + fixes
 
2273
* --abstract switch to MapGenerator (contributed by Eric Everman)
 
2274
 
 
2275
Changes in version 0.9.11 (12.5.2002)
 
2276
------------------------------------
 
2277
* fixed major bug with connection handling (fix by Anton van Straaten)
 
2278
 
 
2279
Changes in version 0.9.10 (11.5.2002)
 
2280
------------------------------------
 
2281
* set a default schema name using SessionFactory property hibernate.default_schema
 
2282
* code generator tool contributed by Brad Clow (www.workingmouse.com)
 
2283
* lazy object initialization under JDK 1.3 and above
 
2284
* fixed some error messages to go to logging framework, not stdout
 
2285
* new system property hibernate.show_sql=true logs all executed SQL to stdout
 
2286
* integration of bugfixes in c3p0
 
2287
* wrap IllegalArgumentExceptions in HibernateExceptions
 
2288
* added ObjectNotFoundException and StaleObjectStateException
 
2289
* fixed a bug when using schemas
 
2290
* new caching strategy (and documented cache feature)
 
2291
 
 
2292
Changes in version 0.9.9 (25.4.2002)
 
2293
-----------------------------------
 
2294
* sorted sets and maps (thanks to Doug Currie)
 
2295
* mapping files may now be loaded using getResourceAsStream() (thanks to Markus Meissner)
 
2296
* hibernate messages now logged by Apache commons-logging
 
2297
* default hi/lo generator table now has column named "next_id", instead of "next"
 
2298
* query language may now refer to identifier property name (eg. foo.fooKey as alternative to foo.id)
 
2299
* hibernate.jndi_class, hibernate.jndi_url now optional when using datasource
 
2300
* hibernate now throws an exception if you try to persist an object with a reference to a transient object
 
2301
* improved connection pooling algorithm (hibernate.pool_size limits pooled conections)
 
2302
* very experimental integration of c3p0 JDBC connection pool (http://sourceforge.net/projects/c3p0)
 
2303
* now compiles under JDK 1.2.2
 
2304
* fixed bug persisting null components
 
2305
* fixed bug where cached prepared statements were not cleaned up after disconnect() session
 
2306
* fixed a null pointer exception in MappingByReflection
 
2307
 
 
2308
Changes in version 0.9.8 (13.3.2002)
 
2309
-----------------------------------
 
2310
* supports database native key generation in Sybase, MS SQL, MySQL, DB2, Hypersonic (contributed by Christoph Sturm)
 
2311
* supports Mckoi (dialect contributed by Doug Currie)
 
2312
* supports Progress (dialect contributed by Phillip Baird)
 
2313
* added exceptions to catch Session reentrancy from PersistentLifecycle.load() + store()
 
2314
* experimental cross-transaction cache
 
2315
* Session.lock() and Session.loadWithLock() for pessimistic locking
 
2316
* HiLoGenerators may now use their own DriverManager connection properties + may now use same table across diff mapping files
 
2317
* Session.flush(), Session.close() and Session.connection() replace Session.commit(), Session.cancel()
 
2318
* Session.disconnect() and Session.reconnect() for long transactions
 
2319
* added single JVM id generators vm.long, vm.hex
 
2320
* added unique column constraints to mappings
 
2321
* extensions to IDGenerator framework
 
2322
* support sequence-style ID generation in Oracle, PostgreSQL, DB2, Interbase
 
2323
 
 
2324
* fixed problem where subcollections of a collection that changed roles would be deleted
 
2325
* changed class loading strategy to be compatible with JBoss
 
2326
* stopped queries retrieving unnecessary columns
 
2327
* mutable types (binary + serializable) now always detected as dirty
 
2328
 
 
2329
Changes in version 0.9.7 (26.2.2002)
 
2330
-----------------------------------
 
2331
* save() now safe from foreign key violations (so create() is no longer preferred method of adding data)
 
2332
* delete() now completely safe from foreign key violations - it no longer matters what order objects are deleted in
 
2333
* removed Session.copy()
 
2334
* hilo generators now NOT for use with application server datasources
 
2335
 
 
2336
* fixed two intermittent bugs in queries
 
2337
* fixed a problem where components not detected as dirty
 
2338
* fixed broken hilo generator which was not updating database
 
2339
* fixed a minor bug when hibernate.use_outer_join was set
 
2340
 
 
2341
Changes in version 0.9.6 (24.2.2002)
 
2342
-----------------------------------
 
2343
* experimental XML generation
 
2344
* added support for bi-directional associations (one-to-set, set-to-set) with <set readonly="true"> config
 
2345
* reflective generation of mappings tool was contributed by Doug Currie
 
2346
* Session operations now atomic, so exceptions are recoverable
 
2347
* made ID properties optional in persistent classes
 
2348
* support for multiple schemas through schema attribute of <hibernate-mapping>, <class>, <set>, <map>, etc.
 
2349
* auto-creation of tables for hilo id generators (restriction: cannot use same table from more than one mapping file)
 
2350
* added some more assertions to catch user "mistakes" like deleting transient or saving persistent objects
 
2351
 
 
2352
* major rework of collections and fixed some bad bugs
 
2353
* lazy initialization re-enabled for one-to-many associations (thanks to Georg Schneemayer)
 
2354
* fixed a problem in the mapping DTD to allow nested components in collections
 
2355
* fixed a BAD bug in RelationalDatabaseSession when loading objects with PersistentLifecycle callbacks (thanks to Paul Szego)
 
2356
* fixed problems with quoted strings in query language
 
2357
* fixed a bug where a stack overflow occurred instead of HibernateException thrown (thanks to Georg Schneemayer)
 
2358
* fixed a bug deleting updated versioned data
 
2359
* fixed some problems with name generation for indexes + foreign keys
 
2360
* fixed problem in Sun JDK 1.4 (only?) where IllegalArgumentException was not handled
 
2361
* minor improvements to handling of dates and times
 
2362
* HiLoGenerator now safe for all transaction isolation levels + safe when rollback occurs
 
2363
* noticed and fixed obscure piece of nonthreadsafe code outside of core persistence engine
 
2364
* removed unnecessary drop constraints for some dialects
 
2365
 
 
2366
* MUCH more comprehensive test suite
 
2367
 
 
2368
* changed some terminology used in documentation
 
2369
* added javadoc for API classes
 
2370
* commented the mapping DTD
 
2371
 
 
2372
Changes in version 0.9.5 (8.2.2002)
 
2373
-----------------------------------
 
2374
* supports HypersonicSQL (dialect contributed by Phillip Baird)
 
2375
* supports Microsoft SQL server (with third party JDBC driver)
 
2376
* proper command-line tool for schema generation and export
 
2377
* deprecated the interface cirrus.hibernate.Persistent (due to popular demand)
 
2378
* changes to hibernate-mapping DTD (required to support optional Persistent interface):
 
2379
- deprecated <property type="package.PersistentClassName"/> in favor of <many-to-one class="package.PersistentClassName"/>
 
2380
- deprecated <element type="package.PersistentClassName"/> in favor of <many-to-many class="package.PersistentClassName"/>
 
2381
- deprecated <property role="..."/> in favor of <collection role="..."/>
 
2382
- deprecated <element role=".."/> in favor of <subcollection role="..."/>
 
2383
- deprecated <association> in favor of <one-to-many>
 
2384
* class attribute optional in <component> and <composite-id> tags (determined by reflection)
 
2385
* querying components of components now supported
 
2386
* one-shot table creation (no use of unportable "alter table")
 
2387
* time dataype support
 
2388
* reflective mappings of java.sql.Time, java.sql.Timestamp, java.sql.Date
 
2389
* fixed error msg thrown when class is missing a method but has a superclass
 
2390
* property names now conform to JavaBean spec ("foo" instead of "Foo"). Note that "Foo" still works
 
2391
* constructors of persistent classes may now be non-public
 
2392
* collection indexes now mapped to not-null columns
 
2393
* fixed obscure bug with querying collections inside components of components
 
2394
* fixed potential bug related to cacheing of compiled queries
 
2395
* major rewrite of code relating to O-R mappings
 
2396
* Session.copy() and Session.equals() as convenience for users
 
2397
* fixed repeated invocations of hasNext() on iterator + iterators now always work with distinct SQL resultsets
 
2398
* McKoi dialect was contributed by Gabe Hicks
 
2399
 
 
2400
Changes in version 0.9.4 (29.1.2002)
 
2401
------------------------------------
 
2402
* fixed BAD bug where XML parsing would not work for parsers other than Xerces - thanks to Christian Winkler
 
2403
* added some more assertions to catch user "mistakes" like changing ids or reusing existing ids
 
2404
 
 
2405
Changes in version 0.9.3 (27.1.2002)
 
2406
------------------------------------
 
2407
* repackaged (corrupted DatasourceConnectionProvider.class)
 
2408
* better exception reporting using datasource
 
2409
* added Datastore.storeClass() which looks for mapping file in classpath (class foo.Bar -> foo/Bar.hbm.xml)
 
2410
* improved documentation
 
2411
 
 
2412
Changes in version 0.9.2 (25.1.2002)
 
2413
------------------------------------
 
2414
* iterate over query results (lazy instantiation of query results)
 
2415
* added "select foo, bar" style queries returning multiple objects per row
 
2416
* delete by query
 
2417
* composite key support
 
2418
* outer joins for faster (?) loading of associated objects ( set "hibernate.use_outer_join" to "true" )
 
2419
* connection pooling when using DriverManager
 
2420
* foreign key constraint from unkeyed collection table to owner entity table
 
2421
* improved drop tables script execution (still not infallible)
 
2422
* added <composite-element> tag
 
2423
* added not-null properties and elements
 
2424
* added an optimisation for dates and components
 
2425
* made some XML attributes optional
 
2426
* fixed errors in documentation + documented some extra features
 
2427
* bugfix: store() not getting called on lifecycle interface
 
2428
* bugfix: schema generation for indexed associations
 
2429
* added many tests
 
2430
 
 
2431
Changes in version 0.9.1 (20.1.2002)
 
2432
------------------------------------
 
2433
Too many to list
 
2434
 
 
2435
Changes in version 0.8.1 (30.11.2001)
 
2436
-------------------------------------
 
2437
Initial alpha version
 
2438