I've read good criticisms of ORMs: objects aren't exactly like DB rows, and they make some queries hard. I keep coming back to having *some* layer between me and SQL though. ORMs have nicer APIs and I really value automatic schema migration.