mirage-scala作り始めました

Scalaでなかなか「これだ!」というO/RマッパやDBアクセス用のライブラリが見つからなかったので、MirageのScalaバインディングを作ったらよいのでは?と思い、いろいろ試しています。2waySQLを使えるScalaらしいインターフェースを持ったDBアクセスライブラリにしたいと思っています。
まだどういうインターフェースがいいのか試行錯誤している段階ですが、いまのところ基本的な使い方はこんな感じ。

val resultList = sqlManager.getResultList(TwoWaySql("""
  SELECT BOOK_ID, BOOK_NAME, AUTHOR, PRICE
  FROM BOOK
  /*IF bookName != null*/
    WHERE BOOK_NAME=/*bookName*/'Mirage in Action'
  /*END*/
"""), Map("bookName" -> "Mirage in Action"))

この例はパラメータや結果にDTOではなくMapを使っています。
DTOやエンティティは今のMirageの仕組みのままだとJavaっぽさ全開になってしまうのでどうしたらいいか考え中です。エンティティを使った検索・更新処理についてはとりあえず初期のバージョンでは実装しないつもりですが、むしろ2waySQL + Mapインターフェースだけでもいいのかもしれないなぁ…などと思わなくもないです。