mirror of
https://github.com/corda/corda.git
synced 2025-02-21 17:56:54 +00:00
ENT-4494 revert postgre to previous open source behaviour (#6166)
* ENT-4494 revert to previous open source behaviour re postgres while discussions about DB harmonization is ongoing * Remove unused imports
This commit is contained in:
parent
8faf72f7b5
commit
9ca251c65f
@ -5,6 +5,7 @@ import net.corda.core.utilities.contextLogger
|
|||||||
import net.corda.core.utilities.toHexString
|
import net.corda.core.utilities.toHexString
|
||||||
import net.corda.nodeapi.internal.persistence.DatabaseConfig
|
import net.corda.nodeapi.internal.persistence.DatabaseConfig
|
||||||
import net.corda.nodeapi.internal.persistence.HibernateConfiguration
|
import net.corda.nodeapi.internal.persistence.HibernateConfiguration
|
||||||
|
import net.corda.nodeapi.internal.persistence.SchemaInitializationType
|
||||||
import org.hibernate.SessionFactory
|
import org.hibernate.SessionFactory
|
||||||
import org.hibernate.boot.Metadata
|
import org.hibernate.boot.Metadata
|
||||||
import org.hibernate.boot.MetadataBuilder
|
import org.hibernate.boot.MetadataBuilder
|
||||||
@ -26,13 +27,22 @@ abstract class BaseSessionFactoryFactory : CordaSessionFactoryFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
open fun buildHibernateConfig(databaseConfig: DatabaseConfig, metadataSources: MetadataSources): Configuration {
|
open fun buildHibernateConfig(databaseConfig: DatabaseConfig, metadataSources: MetadataSources): Configuration {
|
||||||
|
val hbm2dll: String =
|
||||||
|
if (databaseConfig.initialiseSchema && databaseConfig.initialiseAppSchema == SchemaInitializationType.UPDATE) {
|
||||||
|
"update"
|
||||||
|
} else if ((!databaseConfig.initialiseSchema && databaseConfig.initialiseAppSchema == SchemaInitializationType.UPDATE)
|
||||||
|
|| databaseConfig.initialiseAppSchema == SchemaInitializationType.VALIDATE) {
|
||||||
|
"validate"
|
||||||
|
} else {
|
||||||
|
"none"
|
||||||
|
}
|
||||||
// We set a connection provider as the auto schema generation requires it. The auto schema generation will not
|
// We set a connection provider as the auto schema generation requires it. The auto schema generation will not
|
||||||
// necessarily remain and would likely be replaced by something like Liquibase. For now it is very convenient though.
|
// necessarily remain and would likely be replaced by something like Liquibase. For now it is very convenient though.
|
||||||
return Configuration(metadataSources).setProperty("hibernate.connection.provider_class", HibernateConfiguration.NodeDatabaseConnectionProvider::class.java.name)
|
return Configuration(metadataSources).setProperty("hibernate.connection.provider_class", HibernateConfiguration.NodeDatabaseConnectionProvider::class.java.name)
|
||||||
.setProperty("hibernate.format_sql", "true")
|
.setProperty("hibernate.format_sql", "true")
|
||||||
.setProperty("javax.persistence.validation.mode", "none")
|
.setProperty("javax.persistence.validation.mode", "none")
|
||||||
.setProperty("hibernate.connection.isolation", databaseConfig.transactionIsolationLevel.jdbcValue.toString())
|
.setProperty("hibernate.connection.isolation", databaseConfig.transactionIsolationLevel.jdbcValue.toString())
|
||||||
.setProperty("hibernate.hbm2ddl.auto", "validate")
|
.setProperty("hibernate.hbm2ddl.auto", hbm2dll)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun buildHibernateMetadata(metadataBuilder: MetadataBuilder, attributeConverters: Collection<AttributeConverter<*, *>>): Metadata {
|
override fun buildHibernateMetadata(metadataBuilder: MetadataBuilder, attributeConverters: Collection<AttributeConverter<*, *>>): Metadata {
|
||||||
|
@ -1,27 +1,6 @@
|
|||||||
package net.corda.nodeapi.internal.persistence.factory
|
package net.corda.nodeapi.internal.persistence.factory
|
||||||
|
|
||||||
import net.corda.nodeapi.internal.persistence.DatabaseConfig
|
|
||||||
import net.corda.nodeapi.internal.persistence.SchemaInitializationType
|
|
||||||
import org.hibernate.boot.MetadataSources
|
|
||||||
import org.hibernate.cfg.Configuration
|
|
||||||
|
|
||||||
class H2SessionFactoryFactory : BaseSessionFactoryFactory() {
|
class H2SessionFactoryFactory : BaseSessionFactoryFactory() {
|
||||||
override fun canHandleDatabase(jdbcUrl: String): Boolean = jdbcUrl.startsWith("jdbc:h2:")
|
override fun canHandleDatabase(jdbcUrl: String): Boolean = jdbcUrl.startsWith("jdbc:h2:")
|
||||||
override val databaseType: String = "H2"
|
override val databaseType: String = "H2"
|
||||||
|
|
||||||
override fun buildHibernateConfig(databaseConfig: DatabaseConfig, metadataSources: MetadataSources): Configuration {
|
|
||||||
val config = super.buildHibernateConfig(databaseConfig, metadataSources)
|
|
||||||
|
|
||||||
val hbm2dll: String =
|
|
||||||
if (databaseConfig.initialiseSchema && databaseConfig.initialiseAppSchema == SchemaInitializationType.UPDATE) {
|
|
||||||
"update"
|
|
||||||
} else if ((!databaseConfig.initialiseSchema && databaseConfig.initialiseAppSchema == SchemaInitializationType.UPDATE)
|
|
||||||
|| databaseConfig.initialiseAppSchema == SchemaInitializationType.VALIDATE) {
|
|
||||||
"validate"
|
|
||||||
} else {
|
|
||||||
"none"
|
|
||||||
}
|
|
||||||
config.setProperty("hibernate.hbm2ddl.auto", hbm2dll)
|
|
||||||
return config
|
|
||||||
}
|
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user