Я хотел бы реализовать DAO на Scala следующим образом:
trait DAO[PK,-T,-Q] {
// T is a "value object", PK is a primary key, and Q is query parameters.
def create(t:T):Unit
def update(t:T):Unit
def remove(pk:PK):Unit
def find(query:Q):Seq[T]
}
Есть ли в этом смысл? Не выглядит ли "слишком Java"? Как бы вы спроектировали / внедрили DAO в Scala?