Se vuoi sicuramente un ORM, JPA è probabilmente la strada da percorrere. Questo ti costringerà ad avere classi di modelli di dominio mutevoli ecc. ma forse questo è un compromesso che sei disposto ad accettare. (Personalmente non lo farei)
Se sei aperto a modi alternativi per parlare con un database, ci sono alcune opzioni interessanti:
- anorma - Vicino a SQL ma molto più piacevole dell'utilizzo diretto di JDBC - https://playframework.com/documentation /2.3.7/Annorma Scala
- elegante - "Mappatura relazionale funzionale", query typesafe - http://slick.typesafe.com
- attiva - "Software Transactional Memory" con backend di persistenza collegabili - http://activate-framework.org
Ecco un bel post sul blog che mette a confronto diverse librerie:http://manuel.bernhardt.io/2014/02/04/a-quick-tour-of-relational-database-access-with-scala/