Hi folks,

The OJB team is happy to announce that OJB version 1.0.4 has (finally)
been released and should be available right now at a mirror near you.
This is a feature and bug-fix release:

---------------------------------------------------------------------
Release 1.0.4
---------------------------------------------------------------------
NEW FEATURES:
* Support for embedded & network Derby (only distinct count queries
don't work yet)
* Added ability to prepare the database for OJB's unit tests via
DdlUtils (instead of Torque)
  Note that this is required when running the tests against Derby
* [OJB-10] - Configurable Proxy generation (including CGLIB based generation)
* [OJB-31] - Configurable JDBC driver-setting setFetchSize
* [OJB-14] - Setting custom JDBC driver tuning options trough
jdbc-connection-descriptor
* [OJB-6]  - Support for stored procedures returning ResultSet.
* [OJB-41] - ODMG-api: Allow cascading delete using auto-delete
setting in metadata
* [OJB-66] - Allow to specify a sequence start element for
SequenceManagerNextValImpl.
  Fixed for Oracle, PostgreSQL, MaxDB/SapDB, DB2. Additionally
sequence properties
  like 'increment by', 'cache', 'order',... are supported too. See
'sequence manger'
  guide and javadoc
* Add new ODMG extensions and configuration properties. All properties
can be set
  at runtime as global property in class ImplementationExt and for a specific
  transaction in class TransactionExt:
  - 'ordering' Allow to dis-/enable OJB's object ordering on transaction commit
  - 'implicitLocking' Dis-/enable OJB's implicit locking
* Add new property 'TxCheck' in OJB.properties file. When enabled, on
PB store and
  delete calls OJB checks for a running PB-tx, if not found an error
is logged in order to
  avoid store/delete calls without a running PB-tx (while development).

NOTES:
* Internal OJB class configuration files are changed, don't forget to replace
  these files on upgrade from older version (by default the internal used
  classes are located in repository_internal.xml).
* Improved performance comparison tests ('ant perf-test' and 'ant performance').
  Now the tests more fair for registered API's
* In order to facilitate [OJB-10] the constructor signature of
VirtualProxy has been changed.

CHANGES:
* INTERNAL API CHANGES:
  Pluggable class interfaces changed to support and fix OJB-31, OJB-6, OJB-63:
  - StatementsForClassIF
  - StatementManagerIF
  - Platform
  - RowReader
  - SqlGenerator
* Configurable ProxyFactory is now available. Both JDK-based (default) and CGLIB
  are provided. CGLIB-based generation allows for proxies to be
generated for all
  persistent classes, and not just ones that implement an interface.
* Change in behavior of property 'useAutoCommit="1"' in
jdbc-connection-descriptor
  detailed info can be found in reference guide of the repository file
* ConnectionFactoryManagedImpl is declared deprecated. Now OJB
automatic detect the
  running JTA-transaction and suppress critical method calls on the
used connection
* Removed deprecated SequenceManager implementation SequenceManagerMySQLImpl
* Remove unused method #setReferenceFKs from SequenceManager interface
* ODMG-api: Method behavior of
ImplementationImpl#setImplicitLocking(boolean) changed.
  Now this method set the global property for 'implicitLocking'. Old
version only changed the
  implicit locking behavior for the current used transaction, this is moved to
  TransactionExt#setImplicitLocking
* Internal used OJB_HL_SEQ table changed. Remove of deprecated column.
  If the SequenceManagerHighLowImpl was used and problems occur after
upgrade, please
  drop and recreate this table without removed column
* Cleanup naming of 'PersistentField' implementation classes: Remove
deprecated classes, rename
  implementation classes, declare all ...ImplNew classes as deprecated.
  See OJB.properties file.
* Upgraded ANTLR to v2.7.5 (OQL and JDOQL parser classes have been re-generated)
* Upgraded commons-dbcp to v1.2.1
* Upgraded commons-pool to v1.2
* Upgraded commons-beanutils to v1.7
* Upgraded commons-logging to v1.0.4
* Upgraded commons-collections to v3.1
* Upgraded hsql to v1.8.0.2
* Upgraded Torque to v3.1.1

BUG FIXES:
* [OJB-18] - ODMG ordering problem with circular/bidirectional 1:1 references
* [OJB-25] - Inheritance (each subclass on separate table) PK problem with
  nextval SequenceManager
* [OJB-26] - JDBC-ODBC bridge problem
* [OJB-27] - [ODMG] Foreign key violation
* [OJB-29] - Infinite loop in case of refresh=true and cycles in references
* [OJB-40] - CallableStatement check doesn't work with maxDB
* [OJB-42] - MsSQLServer, auto-generated querry error (m:n relation)
* [OJB-44] - ReferenceMap$Entry keeps growing over period of application usage.
* [OJB-52] - KeyConstraintViolatedException during store
* [OJB-54] - ConnectionFactoryManagedImpl may try to use pool
* [OJB-55] - Getting foreignkeyField's FieldDescriptor is failing if
the foreignkey
  field is defined in the base class
* [OJB-59] - Incorrect identity management in SequenceManagerNativeImpl
  because of wrong plate-forme settings
* [OJB-62] - addPathClass in QueryByCriteria does not consider inheritance
* [OJB-63] - Bug when query against objects mapped on multiple joined
tables ("super"-references)
* [OJB-70] - Connection reset by peer: socket write error
* [OJB-76] - OJB MtoN implementor failes to work properly with
composite M&N keys that
  have some fields common.
* [OJB-77] - PlatformMsSQLServerImpl.getLastInsertIdentityQuery
creates incorrect SQL
  statement to pull the identity from the last

KNOWN ISSUES:
* Auto-Detection for insert/update objects checks to avoid DB queries
the PK fields of the object.
  If at least one PK field is 'NULL' or if primitive field '0', OJB
assume the object is new and
  needs insert. This will be configurable in next upcoming version.
Workaround for PB-api: use method
  PB#store(Object obj, ObjectModification mod) to state update or insert.
* Batch handling doesn't work properly with optimistic locking. This
will be fixed
  in version 1.1
* Subqueries are not extent aware. see QueryTest#testSubQueryAgainstExtents
* Managed Environment: When run OJB in managed environment and using
PBStateListener, the call of
  PBStateListener#beforeClose(PBStateEvent event) is made twice when
  a PB instance was closed in a JTA-tx (for the first time when
PB.close() was called
  in bean on the PB handle, second time when the JTA-tx completes)
* otm-api: The OTM API has a known caching issue and should not be
considered for code used
  in production environments. The future of the OTM layer will be
subject for discussion on the
  OJB developers list, if you are using it - please subscribe to
ojb-dev and make your voice heard.
* Oracle9i platform: when using statement batching, there is a 2k
limit on BLOB + 4k limit on CLOB.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to