I guess I don't understand the need for ORM unless you need to map to complex objects that you've built a class for. Maybe I've done so much data processing and always started with a (hopefully) good database design that I have an unusual point of view?
Just to make CRUD operations simpler:
Contractor contractor = new Contractor();
contractor.first_name = "Peter";
contractor.last_name = "Gibbons";
contractor.rate = new BigDecimal( "200.00" ); // I wish

contractor.save( connection );
...
Contractor contractor = new Contractor();
contractor.first_name = "Peter";
// Get a list of all contractors with first name Peter:
List< Contractor > list = contractor.list( connection );
...
This is using the convention over configuration idea (popularized by Ruby on Rails ActiveRecord):
Contractor objects are saved in table 'contractor' with fields first_name, last_name, rate, ..., ...
So you don't have to map things externally in a XML file.
P.S. Of course Powerbuilder had this ( and more ) 17 or 18 years ago
