Se você definitivamente quer um ORM, o JPA é provavelmente o caminho a seguir. Isso forçará você a ter classes de modelo de domínio mutáveis, etc., mas talvez essa seja uma troca que você esteja disposto a aceitar. (Pessoalmente, eu não faria)
Se você está aberto a formas alternativas de falar com um banco de dados, existem algumas opções interessantes:
- anormal - Perto do SQL, mas muito melhor do que usar o JDBC diretamente - https://playframework.com/documentation /2.3.7/ScalaAnorm
- legal - "Mapeamento Relacional Funcional", consultas typesafe - http://slick.typesafe.com
- ativar - "Software Transactional Memory" com backends de persistência plugáveis - http://activate-framework.org
Aqui está uma postagem de blog muito boa que compara diferentes bibliotecas:http://manuel.bernhardt.io/2014/02/04/a-quick-tour-of-relational-database-access-with-scala/