在Java中记录these examples之后,我正在尝试在Play for Scala中实现JPA .
在以下代码中,我在 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
})
}
}
错误:
重载方法值withTransaction with alternatives:(x $ 1:Runnable)Unit [T](x $ 1:java.util.function.Supplier [T])T [T](x $ 1:java.util.function.Function [javax] .persistence.EntityManager,T])T不能应用于((javax.persistence.EntityManager,List [admin.manage.BankHib]))
这段代码出了什么问题?
1 回答
Scala中的Lambdas使用语法
代替
在Java中 .
Scala中的
->
用于 Map .