More Java Persistence

Earlier this month, I asked if anyone knew of a comparison between Torque and Hibernate. My former coworker and Ancept refuge McClain emailed me about Torque:
i read about hibernate on yer blog, and it does indeed seem quite similar to torque, though (the last time i saw it) torque relies on shell scripts and the like to generate the db tables.
mappings, relations and mutation are created in much the same way, via xml files.
Torque is actually the persistence layer for Turbine, though (last i checked) the turbine project was trying to componentize all of theirsubsystems so that they can be used independently.

So it sounds like Torque is pretty similar to Hibernate, though in Torque, the XML files are the driver which is used to create the database schema while in Hibernate the database schema is primary and you use XDoclet to generate the mapping files.

In other Hibernate news, the first beta of Hibernate 2 was released yesterday. It sounds like this is a ground-up rewrite with a lot of new features.

Hibernate2 Porting Guidelines

McClain also told me a little more about the Prevayler project he's working on:

my prevayler project is coming along pretty well (speaking of persistence). My prevalent system is mind-bogglingly simple: a map of catalog entries whose parent-child relationships are managed by a javax.swing.TreeModel (!).
Using the tree model has been a huge boon, as all of my relationships are managed consistently, and catalog entries are never duplicated, even with cross-linked nodes, multiple parents etc. All of this came free with the treemodel, which i vote should be moved into the collections package. If you ever have to do quick hierarchical crap, I highly recommend it.

I was concerned about migrating old data when you change your objects. Marcus Ahnve (who is actually using Prevayler in an XP development environment) has an interesting post on schema evolution. I'm intrigued by Prevayler, but using a relational database as your backend does still have a number of advantages.