Si vous voulez vraiment un ORM, alors JPA est probablement la voie à suivre. Cela vous obligera à avoir des classes de modèles de domaine mutables, etc., mais c'est peut-être un compromis que vous êtes prêt à accepter. (Personnellement, je ne le ferais pas)
Si vous êtes ouvert à d'autres moyens de communiquer avec une base de données, voici quelques options intéressantes :
- une norme - Proche de SQL mais bien plus agréable que d'utiliser JDBC directement - https://playframework.com/documentation /2.3.7/ScalaAnorm
- élégant - "Mappage relationnel fonctionnel", requêtes typesafe - http://slick.typesafe.com
- activer - "Mémoire transactionnelle logicielle" avec backends de persistance enfichables - http://activate-framework.org
Voici un très bon article de blog qui compare différentes bibliothèques :http://manuel.bernhardt.io/2014/02/04/a-quick-tour-of-relational-database-access-with-scala/