|
From: Juergen H. <ju...@in...> - 2005-05-06 09:24:23
|
The issues with PetClinic's HSQLPlatform have been resolved yesterday, so everything should work nicely out-of-the-box now. Anybody who has some time and motivation to play with this, please do so :-) After some refinements yesterday, our TopLink support and PetClinic's TopLink layer should work properly with both TopLink 9.0.4 and 10.1.3 (the latter currently being a "developer release"). I would actually recommend downloading TopLink 10.1.3, as it is just a 13 MB zip download (in contrast to the "Oracle Universal Installer" download for 9.0.4, which has 130 MB!!). All you need to do to make PetClinic work on TopLink is drop a full toplink.jar plus xmlparserv2.jar (from the TopLink distribution) into "lib/toplink" before building or "WEB-INF/lib" after building PetClinic. Then comment in "applicationContext-toplink.xml" in web.xml, and off you go :-) Juergen -----Original Message----- From: spr...@li... [mailto:spr...@li...]On Behalf Of Juergen Hoeller Sent: Wednesday, May 04, 2005 3:58 PM To: spr...@li... Subject: [Springframework-developer] TopLink support Hi everybody, In case you've been wondering what I was working on so busily... we now have fully integrated TopLink support in our CVS, including a TopLink implementation of PetClinic's persistence layer :-) Many thanks to Jim Clark from Oracle who implemented the original version, and of course to Oracle for granting the submission! It's modeled somewhat analogously to our Hibernate support, although with the important difference that we use a custom SessionFactory interface for TopLink (because TopLink does not define such a resource out of the box). There are the usual suspects: LocalSessionFactoryBean, TopLinkTemplate, TopLinkCallback, TopLinkTransactionManager. I've documented the TopLink data access operations quite extensively, because the semantics are significantly different from Hibernate's. For example, TopLink uses a shared object cache as second-level cache, in contrast to Hibernate and JDO which only hold flat data there. This leads to some very important differences in the lifecycle of persistent objects. An important distinction is between working with a TopLink Session (read-only) and working with a TopLink UnitOfWork (write operations). Of course, our TopLink support allows for both in callback style. The convenience operations defined on TopLinkTemplate allow for working with both too, either implicitly determined through the current transaction status or explicitly determined through a "enforceReadOnly" argument. Notably, there is *no* OpenSessionInViewFilter or OpenSessionInViewInterceptor for TopLink: it is simply not necessary. TopLink will automatically apply appropriate lazy loading, whether within an active Session or outside of it. Aside from the deployment-ready TopLink persistence layer, the "petclinic" directory also contains the TopLink Mapping Workbench project that the mapping XML file was created with. You can simply open the project file in with any TopLink Mapping Workbench implementation and have a visual few on the mappings. For licensing reasons, we only ship a toplink-api.jar that we can compile against. To run the PetClinic web application or its test suite, a full toplink.jar and xmlparserv2.jar (both from the TopLink distribution) need to be dropped into the "lib/toplink" directory (or the deployed "WEB-INF/lib" directory). Finally, PetClinic's TopLink layer is currently not able to properly insert objects, due to TopLink's default HSQLPlatform implementation: we need a special subclass of this to leverage HSQLDB's identity columns. Such a subclass is already committed but not fully active yet, simply because we need some additional methods exposed in our toplink-api.jar to be able to compile it. This should be resolved by tonight; everything else should already work! Juergen ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |