http://scala-tools.org/mvnsites/scalajpa/
Scaladoc is here:
http://scala-tools.org/mvnsites/scalajpa/scaladocs/index.html
If you're using Maven, simply drop this dependency into your pom.xml:
<dependency>
<groupId>org.scala-libs>/groupId>
<artifactId>scalajpa>/artifactId>
<version>1.0>/version>
</dependency>
Just to give you an idea of how easy it is to use, here's how we would define a per-request EntityManager in Lift:
package com.foo.jpa
import org.scala_libs.scalajpa.{LocalEM,RequestVarEM}
object Model extends LocalEM("MyEMName") with RequestVarEM
The Model object will then act as a ScalaEntityManager that uses a new per-request EM for its operations. We can use it in our code like
...
val author = new Author("Kurt Vonnegut")
val book = new Book("Cat's Cradle", author)
Model.persistAndFlush(book)
In addition to the RequestVarEM, there are classes to handle a ThreadLocal EM as well as plain old factory classes that will let you set up and close your own ScalaEntityManagers. Check out the Lift JPA Demo site for more example code:
http://github.com/dpp/liftweb/tree/794cac5abf6b1ae5502f6321847f6186fcd8de90/sites/JPADemo