Example Scala Data Access Object:
package org.stest
import java.util.logging.Logger
import com.avaje.ebean._
/**
* Dao for a given Entity bean type.
*/
abstract class Dao[T](cls:Class[T]) {
private val ebeanServer = Ebean.getServer(null);
/**
* Find by Id.
*/
def find(id:Any):T = {
return ebeanServer.find(cls, id)
}
/**
* Find with expressions and joins etc.
*/
def find():com.avaje.ebean.Query[T] = {
return ebeanServer.find(cls)
}
/**
* Return a reference.
*/
def ref(id:Any):T = {
return ebeanServer.getReference(cls, id)
}
/**
* Save (insert or update).
*/
def save(o:Any):Unit = {
ebeanServer.save(o);
}
/**
* Delete.
*/
def delete(o:Any):Unit = {
ebeanServer.delete(o);
}
}