I prefer plain SQL using an ORM. Usually using the ORM for insertion, SQL for extraction.
The ones I have used are not mutually exclusive (doctrine, hibernate).