a really solid, perhaps unique, library that, as far as i can tell, completely addresses the "impedence mismatch" argument. if you're directly using a database api in a structured way, you've probably already reimplemented the sqlalchemy core, and refactoring your program to use sqlalchemy will give you an orm, should you want one, and make your code portable across database implementations even if you don't. if you're already using an orm, refactoring to use sqlalchemy will allow you to to start optimizing the low-level database operations in a coherent way (i.e. not just sprinkling SQL throughout the models). there's a nice writeup in the architecture of open source applications ( <a href="http://www.aosabook.org/en/sqlalchemy.html" rel="nofollow">http://www.aosabook.org/en/sqlalchemy.html</a> )<p>now, fantods aside, is there anything like this for java? according to the aosa writeup, sqlalchemy's author found python's multiple inheritance useful for implementing certain ideas, so porting probably isn't straightforward. also, the relevant stackoverflow question ( <a href="http://stackoverflow.com/questions/10537766/closest-equivalent-to-sqlalchemy-for-java-scala" rel="nofollow">http://stackoverflow.com/questions/10537766/closest-equivale...</a> ) seems inconclusive.<p>this is not to criticize java as a language, but rather because <i>i really wish there was something like sqlalchemy for java</i>.