Si definitivamente quieres un ORM, entonces JPA es probablemente el camino a seguir. Esto lo obligará a tener clases de modelos de dominio mutables, etc., pero tal vez sea una compensación que esté dispuesto a aceptar. (Personalmente, no lo haría)
Si está abierto a formas alternativas de comunicarse con una base de datos, hay algunas opciones interesantes:
- anomalía - Cercano a SQL pero mucho mejor que usar JDBC directamente - https://playframework.com/documentation /2.3.7/ScalaAnorm
- resbaladizo - "Mapeo funcional relacional", consultas typesafe - http://slick.typesafe.com
- activar - "Memoria transaccional de software" con backends de persistencia conectables - http://activate-framework.org
Aquí hay una publicación de blog bastante buena que compara diferentes bibliotecas:http://manuel.bernhardt.io/2014/02/04/a-quick-tour-of-relational-database-access-with-scala/