You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by "Janssen, Roger" <Ro...@ibanx.nl> on 2004/07/01 11:49:45 UTC

RE: [ann] new release: OJB 1.0

Congratulations guys (and girls???) !!!

-----Original Message-----
From: Mahler Thomas [mailto:thomas.mahler@itellium.com]
Sent: Wednesday, June 30, 2004 4:08 PM
To: OJB Developers List; OJB Users List (E-Mail)
Subject: [ann] new release: OJB 1.0 


Dear all,

I'm very happy to announce the final 1.0 release of OJB.
After a long series of release candidates we finally got enough confidence
in our software 
to call it "ready for prime time".

As you can see by our ever growing list of junit tests we pay attention to
quality assurance.
So the long delay of the 1.0 version was not caused by "laziness" but rather
by 
our intention to deliver a piece of top quality software.

I want to say thanks to all committers and contributors: 
You all helped to get OJB production ready!

I also want to thank all users for their patience and 
I hope you all will be pleased by this 1.0 release!  


>From the release notes:
========================================================================
ObJectRelationalBridge -- Bridging Java Objects and Relational Databases
========================================================================

ObJectRelationalBridge (OJB) is an Object/Relational mapping tool that
provides transparent transactional persistence for Java Objects against
relational databases. OJB provides ODMG and JDO interfaces.

---------------------------------------------------------------------
Release 1.0
---------------------------------------------------------------------
NEW FEATURES:
--

NOTES:
--

CHANGES:
- We introduce new PersistentField implementations in OJB.properties file
called
PersistentFieldXXXXImplNew. Per default one of the new PersistentField
implementations was
used. If you hit problems please send a report. You can reverting to old
impl by
changing property 'PersistentFieldClass' in OJB.prperties file. The new
versions
has much better performance in read/write nested fields (up to 50 times
faster than
the 'old' implementions) and will replace the old classes on next version.
Because
PersistentField is an important kernel class we wait for community response
before
final replacement.

BUG FIXES:
Please refer to our Bug tracking site
(http://issues.apache.org/scarab/servlet/scarab/)
under http://issues.apache.org/scarab/servlet/scarab/issues/id/OJBxxx
to see details for a bug with id OJBxxx.


KNOWN ISSUES:
- The default ojb escape character '\' does not work for database using the
same default as well and
should therefore be double-escaped. As a workaround always use a custom
escape character:

	LikeCriteria.setEscapeCharacter('|');
	Criteria crit = new Criteria();
	crit.addLike("firstname", "h%|%");

This issue is fixed for MySql and PostgreSql so far.

- odmg-api: If a user exchange already existing objects in 1:n references
without changing the size
of the collection, the main object will not become dirty and the FK values
of the exchanged objects
will not be updated.
E.g. two objects obj_1 anf obj_2 with 1:n reference to ref objects, each
with one
existing/persistent reference object, obj_1{ref_1} and obj_2{ref_2}.
Lock objects and exchange the references in collection obj_1{ref_2}
and obj_2{ref_1} and commit --> FK values of ref_1 and ref_2 will not be
updated.

- odmg-api: Creation of m:n relation only works when objects created step by
step (or use PB-api
as workaround), persist a whole object graph seems not to work proper.

- ReportQueries should not be used with columns referencing Classes with
extents:

    ReportQueryByCriteria q =
QueryFactory.newReportQuery(ProductGroup.class, crit);
    q.setAttributes(new String[] { "groupName",
"sum(allArticlesInGroup.stock)", "sum(allArticlesInGroup.price)" });
    q.addGroupBy("groupName");

    ProductGroup.allArticlesInGroup points to class Article having multiple
extents.

    As a workaround the query can be 'reversed' :

    ReportQueryByCriteria q = QueryFactory.newReportQuery(Article.class,
crit);
    q.setAttributes(new String[] { "productGroup.groupName", "sum(stock)",
"sum(price)" });
    q.addGroupBy("productGroup.groupName");

    Due to the fact the Article has extents multiple selects will be
executed,
    so the same ProductGroup may show up more than once.

    Please see the testcases QueryTest#testReportQueryGroupByExtents1 and
    QueryTest#testReportQueryGroupByExtents2.

- A count on ReportQueries containing groupBy does not deliver a correct
result.

- Batch handling doesn't work proper with optimistic locking. This will be
fixed
before long after 1.0


enjoy,
Thomas

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org