Congratulations guys (and girls???) !!! -----Original Message----- From: Mahler Thomas [mailto:[EMAIL PROTECTED] 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
