Skip to content

Commit 0263510

Browse files
committed
Hibernate example: replace .xml config with code config
1 parent cf60da2 commit 0263510

4 files changed

Lines changed: 26 additions & 74 deletions

File tree

  • examples/projects
    • dev/hibernate/src/main
    • hibernate/src/main

examples/projects/dev/hibernate/src/main/kotlin/org/jetbrains/kotlinx/dataframe/examples/hibernate/main.kt

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import jakarta.persistence.criteria.CriteriaQuery
66
import jakarta.persistence.criteria.Root
77
import org.hibernate.FlushMode
88
import org.hibernate.SessionFactory
9-
import org.hibernate.cfg.Configuration
9+
import org.hibernate.hikaricp.internal.HikariCPConnectionProvider
10+
import org.hibernate.jpa.HibernatePersistenceConfiguration
11+
import org.hibernate.tool.schema.Action
1012
import org.jetbrains.kotlinx.dataframe.DataFrame
1113
import org.jetbrains.kotlinx.dataframe.DataRow
1214
import org.jetbrains.kotlinx.dataframe.api.asSequence
@@ -242,7 +244,13 @@ private inline fun <T> SessionFactory.withReadOnlyTransaction(block: (session: o
242244
}
243245
}
244246

245-
private fun buildSessionFactory(): SessionFactory {
246-
// Load configuration from resources/hibernate/hibernate.cfg.xml
247-
return Configuration().configure("hibernate/hibernate.cfg.xml").buildSessionFactory()
248-
}
247+
private fun buildSessionFactory(): SessionFactory =
248+
HibernatePersistenceConfiguration("hibernate-example")
249+
.managedClasses(CustomersEntity::class.java, ArtistsEntity::class.java, AlbumsEntity::class.java)
250+
.jdbcUrl("jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1")
251+
.jdbcCredentials("sa", "")
252+
.schemaToolingAction(Action.CREATE_DROP)
253+
.showSql(true, true, true)
254+
.property("hibernate.connection.provider_class", HikariCPConnectionProvider::class.java)
255+
.property("hibernate.hikari.maximumPoolSize", 5)
256+
.createEntityManagerFactory()

examples/projects/dev/hibernate/src/main/resources/hibernate/hibernate.cfg.xml

Lines changed: 0 additions & 32 deletions
This file was deleted.

examples/projects/hibernate/src/main/kotlin/org/jetbrains/kotlinx/dataframe/examples/hibernate/main.kt

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import jakarta.persistence.criteria.CriteriaQuery
66
import jakarta.persistence.criteria.Root
77
import org.hibernate.FlushMode
88
import org.hibernate.SessionFactory
9-
import org.hibernate.cfg.Configuration
9+
import org.hibernate.hikaricp.internal.HikariCPConnectionProvider
10+
import org.hibernate.jpa.HibernatePersistenceConfiguration
11+
import org.hibernate.tool.schema.Action
1012
import org.jetbrains.kotlinx.dataframe.DataFrame
1113
import org.jetbrains.kotlinx.dataframe.DataRow
1214
import org.jetbrains.kotlinx.dataframe.api.asSequence
@@ -242,7 +244,13 @@ private inline fun <T> SessionFactory.withReadOnlyTransaction(block: (session: o
242244
}
243245
}
244246

245-
private fun buildSessionFactory(): SessionFactory {
246-
// Load configuration from resources/hibernate/hibernate.cfg.xml
247-
return Configuration().configure("hibernate/hibernate.cfg.xml").buildSessionFactory()
248-
}
247+
private fun buildSessionFactory(): SessionFactory =
248+
HibernatePersistenceConfiguration("hibernate-example")
249+
.managedClasses(CustomersEntity::class.java, ArtistsEntity::class.java, AlbumsEntity::class.java)
250+
.jdbcUrl("jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1")
251+
.jdbcCredentials("sa", "")
252+
.schemaToolingAction(Action.CREATE_DROP)
253+
.showSql(true, true, true)
254+
.property("hibernate.connection.provider_class", HikariCPConnectionProvider::class.java)
255+
.property("hibernate.hikari.maximumPoolSize", 5)
256+
.createEntityManagerFactory()

examples/projects/hibernate/src/main/resources/hibernate/hibernate.cfg.xml

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)