Class DataAccessUtils
java.lang.Object
com.atlassian.confluence.upgrade.upgradetask.DataAccessUtils
Provides access to several underlying Hibernate and JDBC data access objects, which are commonly
used in database-related upgrade tasks.
- Since:
- 3.5
-
Method Summary
Modifier and TypeMethodDescriptionfilterToExistingTables
(Set<String> tableNames, org.springframework.transaction.PlatformTransactionManager transactionManager, org.hibernate.SessionFactory sessionFactory) static org.hibernate.tool.schema.extract.spi.DatabaseInformation
getDatabaseInformation
(Connection connection, org.hibernate.SessionFactory sessionFactory) GetDatabaseInformation
from Hibernate 5 to access database meta informationstatic org.springframework.jdbc.core.JdbcTemplate
getJdbcTemplate
(org.hibernate.Session session) Deprecated.since 7.18.0 due to Hibernate 2 removal.static String
getPrimaryKeyColumnName
(org.springframework.transaction.PlatformTransactionManager transactionManager, org.hibernate.SessionFactory sessionFactory, String tableName) Locates the name of the column used as the primary key on the given table.static boolean
isColumnPresent
(String tableName, String columnName, org.springframework.transaction.PlatformTransactionManager transactionManager, org.hibernate.SessionFactory sessionFactory, BootstrapManager bootstrapManager) Get whether a column is present in the database.static boolean
isTablePresent
(String tableName, org.springframework.transaction.PlatformTransactionManager transactionManager, org.hibernate.SessionFactory sessionFactory) static <T> T
runWithNewConnection
(org.springframework.transaction.PlatformTransactionManager transactionManager, org.hibernate.SessionFactory sessionFactory, Function<Connection, T> callback)
-
Method Details
-
getJdbcTemplate
@Deprecated public static org.springframework.jdbc.core.JdbcTemplate getJdbcTemplate(org.hibernate.Session session) Deprecated.since 7.18.0 due to Hibernate 2 removal. UseDataAccessUtils.getJdbcTemplate(org.hibernate.Session)
instead.Returns a JDBC template for the provided Hibernate session. The JDBC template participates in the same transaction as the session. -
filterToExistingTables
-
isTablePresent
public static boolean isTablePresent(String tableName, org.springframework.transaction.PlatformTransactionManager transactionManager, org.hibernate.SessionFactory sessionFactory) -
getPrimaryKeyColumnName
public static String getPrimaryKeyColumnName(org.springframework.transaction.PlatformTransactionManager transactionManager, org.hibernate.SessionFactory sessionFactory, String tableName) Locates the name of the column used as the primary key on the given table.- Returns:
- The name of the pri9mary key column
- Throws:
IllegalStateException
- if there is no primary key on the given table, or if the primary is constructed from more than one column- Since:
- 6.2.0
-
isColumnPresent
public static boolean isColumnPresent(String tableName, String columnName, org.springframework.transaction.PlatformTransactionManager transactionManager, org.hibernate.SessionFactory sessionFactory, BootstrapManager bootstrapManager) throws com.atlassian.core.exception.InfrastructureException Get whether a column is present in the database.- Throws:
com.atlassian.core.exception.InfrastructureException
- Since:
- 6.2.0
-
runWithNewConnection
public static <T> T runWithNewConnection(org.springframework.transaction.PlatformTransactionManager transactionManager, org.hibernate.SessionFactory sessionFactory, Function<Connection, T> callback) - Since:
- 7.0.1
-
getDatabaseInformation
public static org.hibernate.tool.schema.extract.spi.DatabaseInformation getDatabaseInformation(Connection connection, org.hibernate.SessionFactory sessionFactory) throws org.hibernate.JDBCException, SQLException GetDatabaseInformation
from Hibernate 5 to access database meta information- Throws:
org.hibernate.JDBCException
SQLException
-