hibernatekotlinkuberneteslagom

PersistenceException at Kotlin Lagom service


When service starts at kube, i have error:

2020-09-16T22:01:17.370+0300 [warn] com.lightbend.lagom.internal.javadsl.persistence.jpa.JpaSessionImpl [] - Exception while initializing JPA EntityManagerFactory
javax.persistence.PersistenceException: No Persistence provider for EntityManager named defaultPersistenceUnit
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
    at com.lightbend.lagom.internal.javadsl.persistence.jpa.JpaSessionImpl.lambda$createEntityManagerFactory$1(JpaSessionImpl.java:107)
    at com.lightbend.lagom.internal.javadsl.persistence.jpa.Retry.$anonfun$retry$1(Retry.scala:37)
    at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:659)

I have lagom, kotlin, Hibernate. Running at k8s. Persistence.xml at /src/main.resources/META-INF

    <persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <non-jta-data-source>DefaultDS</non-jta-data-source>

Application.conf:

lagom.persistence.jpa {
  # This must match the name in persistence.xml
  persistence-unit = "defaultPersistenceUnit"
}

Can`t understand the reason of the error.


Solution

  • You should probably add jpa.default="defaultPersistenceUnit" to your application.conf file.