I love the idea of a type safe interface to a database, but I'll pass on learning yet another DSL. Seems like inevitably you get to a certain complexity and the DSL just falls apart and you wind up writing SQL regardless. Then you end up with half your queries written in one language (SQL) and the other half in the ORM DSL. SQL isn't that hard and if you are using a SQL database, you can't really escape knowing the concepts behind SQL relationships regardless which is the tricky bit.
So, bring on type safe access, but don't make me learn yet another DSL which only works 70% of the time.
So, bring on type safe access, but don't make me learn yet another DSL which only works 70% of the time.