In 1998-99 timeframe, before Hibernate and before Oracle bought em, I used TopLink. It was a bit rough around the edges and quirky. The support was nice, usually creating code-drops with fixes within a week of bug reporting. I don't know what Oracle did with the technology.
Java's earlier attempt at persistence, JDO is aborted or still-born. Nothing worth it came from it. However, the Java Persistence layer is supposedly nice. You can swap out back-end providers. I'm not sure if Hibernate provides for it or not.
Hibernate. I've used it over the course of the past 4 years. It's really slick and has a large community support base. It's grown quite a bit, it very powerful, and remains simple to use.
On the .NET side, NHibernate.