Play 2.6 Inject JPAApi error «Нет поставщика сохраняемости для EntityManager с именем defaultPersistenceUnit» - PullRequest
0 голосов
/ 05 июня 2018

Я использую 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

Я проверил все, но я не могу понять, что я делаю не так.Пожалуйста помоги.Спасибо!

1 Ответ

0 голосов
/ 29 августа 2018

разрешенобыла проблема с моделями, связанными, неправильные ссылки OneToMany и ManyToOne

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...