mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-30 21:08:30 +08:00
added conversions
This commit is contained in:
parent
12a81eb0ea
commit
a19804bd93
@ -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())
|
||||
|
||||
}
|
||||
@ -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)
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user