Я использую Ebean в своем приложении 2.6.15.Но я не нашел функцию "getSingleResult" в ebean.И я пытаюсь использовать JPAApi для этого.Когда контроллер пытается внедрить JPAApi, я получаю ошибку No Persistence provider for EntityManager named defaultPersistenceUnit
controllers.PublicController.java
public class PublicController extends Controller {
@Inject
public PublicController(JPAApi apaApi) {}
}
build.sbt
lazy val server = (project in file("."))
.enablePlugins(BuildInfoPlugin, PlayJava, PlayEbean)
.settings(
libraryDependencies += guice,
libraryDependencies ++= Seq(
...
javaJpa,
"org.hibernate" % "hibernate-entitymanager" % "5.3.1.Final"
),
fork in run := true
)
/ conf / META-INF / persistence.xml
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<non-jta-data-source>DefaultDS</non-jta-data-source>
<properties>
...
</properties>
</persistence-unit>
</persistence>
application.conf
db {
default {
driver = com.mysql.jdbc.Driver
jndiName = DefaultDS
url = "***"
username = "***"
password = "***"
hikaricp {
minimumIdle = ${fixedConnectionPool}
maximumPoolSize = ${fixedConnectionPool}
}
}
}
jpa.default = defaultPersistenceUnit
Я проверил все, но я не могу понять, что я делаю не так.Пожалуйста помоги.Спасибо!