在 Play for Scala 中实现 JPA 查询
Implementing JPA query in Play for Scala
我正在尝试在 Play for Scala 中实施 JPA,遵循 Java 中记录的 these examples。
在下面的代码中,我在 jpaApi.withTransaction
中遇到编译错误:
class ManageBanks @Inject() (jpaApi: JPAApi) extends Controller {
@Transactional
def readMany = {
val em = jpaApi.em
jpaApi.withTransaction( em -> { // <-- error in this line
val query = em.createQuery("from BankHib order by name")
val list = query.getResultList.asScala.toList.map(_.asInstanceOf[BankHib])
list
})
}
}
错误:
overloaded method value withTransaction with alternatives: (x:
Runnable)Unit [T](x: java.util.function.Supplier[T])T
[T](x:
java.util.function.Function[javax.persistence.EntityManager,T])T
cannot be applied to ((javax.persistence.EntityManager,
List[admin.manage.BankHib]))
这段代码有什么问题?
Scala 中的 Lambda 使用语法
em => ...
而不是
em -> ...
在 Java.
->
在 Scala 中用于映射。
我正在尝试在 Play for Scala 中实施 JPA,遵循 Java 中记录的 these examples。
在下面的代码中,我在 jpaApi.withTransaction
中遇到编译错误:
class ManageBanks @Inject() (jpaApi: JPAApi) extends Controller {
@Transactional
def readMany = {
val em = jpaApi.em
jpaApi.withTransaction( em -> { // <-- error in this line
val query = em.createQuery("from BankHib order by name")
val list = query.getResultList.asScala.toList.map(_.asInstanceOf[BankHib])
list
})
}
}
错误:
overloaded method value withTransaction with alternatives: (x: Runnable)Unit [T](x: java.util.function.Supplier[T])T [T](x: java.util.function.Function[javax.persistence.EntityManager,T])T cannot be applied to ((javax.persistence.EntityManager, List[admin.manage.BankHib]))
这段代码有什么问题?
Scala 中的 Lambda 使用语法
em => ...
而不是
em -> ...
在 Java.
->
在 Scala 中用于映射。