diff --git a/knockoutwhistweb/app/di/EntityManagerProvider.scala b/knockoutwhistweb/app/di/EntityManagerProvider.scala
index 9b86bb1..4a360ce 100644
--- a/knockoutwhistweb/app/di/EntityManagerProvider.scala
+++ b/knockoutwhistweb/app/di/EntityManagerProvider.scala
@@ -2,13 +2,25 @@ package di
import com.google.inject.Provider
import com.google.inject.Inject
+import play.api.Configuration
import jakarta.inject.Singleton
import jakarta.persistence.{EntityManager, EntityManagerFactory, Persistence}
@Singleton
-class EntityManagerProvider @Inject()() extends Provider[EntityManager] {
+class EntityManagerProvider @Inject()(config: Configuration) extends Provider[EntityManager] {
- private val emf: EntityManagerFactory = Persistence.createEntityManagerFactory("defaultPersistenceUnit")
+ private val emf: EntityManagerFactory = {
+ val dbConfig = config.get[Configuration]("db.default")
+ val props = new java.util.HashMap[String, Object]()
+
+ // Map Play configuration to Jakarta Persistence properties
+ props.put("jakarta.persistence.jdbc.driver", dbConfig.get[String]("driver"))
+ props.put("jakarta.persistence.jdbc.url", dbConfig.get[String]("url"))
+ props.put("jakarta.persistence.jdbc.user", dbConfig.get[String]("username"))
+ props.put("jakarta.persistence.jdbc.password", dbConfig.get[String]("password"))
+
+ Persistence.createEntityManagerFactory("defaultPersistenceUnit", props)
+ }
override def get(): EntityManager = {
emf.createEntityManager()
diff --git a/knockoutwhistweb/conf/META-INF/persistence.xml b/knockoutwhistweb/conf/META-INF/persistence.xml
index cbe047a..de56d10 100644
--- a/knockoutwhistweb/conf/META-INF/persistence.xml
+++ b/knockoutwhistweb/conf/META-INF/persistence.xml
@@ -9,11 +9,11 @@
org.hibernate.jpa.HibernatePersistenceProvider
-
+
-
-
-
+
+
+