Actually, Hibernate is not the best choice for Scala:
you cannot use nested annotations (at least in Scala 2.7) => you cannot use Hibernate Annotations
Hibernate Criteria API (the O from ORM) does not use type parameters
most Hibernate-understandable collections are from java.util._ package; your code will become _very_ error-prone (or
just consist of endless Scala-to-Java-to-Scala-to... collection conversions)
Finally, Hibernate3 is for _idiomatic Java_, not for _idiomatic Scala_; Scala and Java just aren't the same things. For example, you finally relieved that you don't mess your code with getters/setters -- and then decided to use Hibernate Validator. Voila! JSR303 – write getters. No really, this stuff sucks.