Gavin King, the main architect behind Hibernate, has an interesting article on persistence layer locking strategies in the Hibernate Blog.
In particular he comments on how technologies such as CMP are often implemented by the container vendor with their own middle-tier database locking, ignoring the more mature locking solutions implemented in the database itself.