Compare commits

..

6 Commits

Author SHA1 Message Date
TeamCity
d34f0d16cc ci: bump version to v4.37.0 2026-01-20 14:16:41 +00:00
476db28821 feat: Enhance EntityManagerProvider to use Play configuration for database settings 2026-01-20 15:14:11 +01:00
TeamCity
18c347b6ad ci: bump version to v4.36.0 2026-01-20 14:04:58 +00:00
4aa8709eb5 feat: Add HikariCP specific configuration to db.conf 2026-01-20 15:02:34 +01:00
TeamCity
3766241dad ci: bump version to v4.35.0 2026-01-20 13:48:54 +00:00
009b2b1ad9 feat: Add HikariCP specific configuration to db.conf 2026-01-20 14:46:07 +01:00
5 changed files with 48 additions and 9 deletions

View File

@@ -363,3 +363,18 @@
### Features
* Update Hibernate connection provider and database configuration ([71a549b](https://git.janis-eccarius.de/KnockOutWhist/KnockOutWhist-Web/commit/71a549b7f059e748f7691bb9a27e2861b61c6f6f))
## (2026-01-20)
### Features
* Add HikariCP specific configuration to db.conf ([009b2b1](https://git.janis-eccarius.de/KnockOutWhist/KnockOutWhist-Web/commit/009b2b1ad9180f58a0b1434354f8a467b4e452ca))
## (2026-01-20)
### Features
* Add HikariCP specific configuration to db.conf ([4aa8709](https://git.janis-eccarius.de/KnockOutWhist/KnockOutWhist-Web/commit/4aa8709eb593b03254efc616b6b04c23b23ab6ab))
## (2026-01-20)
### Features
* Enhance EntityManagerProvider to use Play configuration for database settings ([476db28](https://git.janis-eccarius.de/KnockOutWhist/KnockOutWhist-Web/commit/476db288216ed2c1013fe3ddb9b82472254e352b))

View File

@@ -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()

View File

@@ -9,11 +9,11 @@
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<!-- Database connection settings -->
<!-- Database connection settings (Overridden by EntityManagerProvider) -->
<property name="jakarta.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="jakarta.persistence.jdbc.url" value="${DATABASE_URL}"/>
<property name="jakarta.persistence.jdbc.user" value="${DB_USER}"/>
<property name="jakarta.persistence.jdbc.password" value="${DB_PASSWORD}"/>
<property name="jakarta.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/knockoutwhist"/>
<property name="jakarta.persistence.jdbc.user" value="kw_user"/>
<property name="jakarta.persistence.jdbc.password" value="postgres"/>
<!-- Hibernate specific settings -->
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>

View File

@@ -1,10 +1,22 @@
# Database configuration - PostgreSQL with environment variables
db.default.driver=org.postgresql.Driver
db.default.jdbcUrl=${?DATABASE_URL}
db.default.driver="org.postgresql.Driver"
db.default.url="jdbc:postgresql://localhost:5432/knockoutwhist"
db.default.url=${?DATABASE_URL}
db.default.username="kw_user"
db.default.username=${?DB_USER}
db.default.password="postgres"
db.default.password=${?DB_PASSWORD}
# HikariCP specific configuration
db.default.hikaricp.driverClassName="org.postgresql.Driver"
db.default.hikaricp.jdbcUrl="jdbc:postgresql://localhost:5432/knockoutwhist"
db.default.hikaricp.jdbcUrl=${?DATABASE_URL}
db.default.hikaricp.username="kw_user"
db.default.hikaricp.username=${?DB_USER}
db.default.hikaricp.password="postgres"
db.default.hikaricp.password=${?DB_PASSWORD}
# JPA/Hibernate configuration
jpa.default=defaultPersistenceUnit

View File

@@ -1,3 +1,3 @@
MAJOR=4
MINOR=34
MINOR=37
PATCH=0