0

J'essaye d'implémenter JPA dans Play for Scala, en suivant these examples documenté en Java.Implémentation d'une requête JPA dans Play pour Scala

Dans le code suivant je reçois une erreur de compilation dans 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 
     }) 
    } 
} 

L'erreur:

overloaded method value 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 cannot be applied to ((javax.persistence.EntityManager, List[admin.manage.BankHib]))

Quel est le problème avec ce code?

Répondre

1

lambdas à Scala utiliser la syntaxe

em => ... 

au lieu de

em -> ... 

en Java.

-> dans Scala est pour les cartes.