added conversions

This commit is contained in:
Timo Westkämper 2011-04-20 06:01:52 +00:00
parent 12a81eb0ea
commit a19804bd93
2 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,28 @@
package com.mysema.query.scala;
import com.mysema.query._;
import com.mysema.query.types._;
object Queries {
implicit def toScalaProjectable(qry: Projectable) = new ScalaProjectable(qry)
implicit def toScalaProjectable[T](qry: SimpleProjectable[T]) = new SimpleScalaProjectable[T](qry);
}
class ScalaProjectable(val qry: Projectable) {
def unique[T](e: Expression[T]) = Option(qry.uniqueResult(e))
def single[T](e: Expression[T]) = Option(qry.singleResult(e))
}
class SimpleScalaProjectable[T](val qry: SimpleProjectable[T]) {
def unique = Option(qry.uniqueResult())
def single = Option(qry.singleResult())
}

View File

@ -0,0 +1,35 @@
package com.mysema.query.scala;
//import com.mysema.query._
import com.mysema.query.types._
import com.mysema.query.scala.Queries._
import com.mysema.query.scala.Conversions._
import com.mysema.query.jpa.impl.JPAQuery
import com.mysema.query.scala.Conversions._
import javax.persistence._;
import org.junit.{ Test, Before, After };
import org.junit.Assert._
class QueriesTest {
var entityManager: EntityManager = _;
val user = alias(classOf[User])
val department = alias(classOf[Department])
val company = alias(classOf[Company])
@Before
def before {
var entityManagerFactory = Persistence.createEntityManagerFactory("hsqldb")
entityManager = entityManagerFactory.createEntityManager()
}
@Test
def Unique {
query from(user) unique(user) getOrElse(new User());
}
def query() = new JPAQuery(entityManager)
}