Java 类org.hibernate.jdbc.Work 实例源码
项目:opencron
文件:HibernateDao.java
@Transactional(readOnly = false)
public void executeBatch(final String sql, final Object[]... parameters) {
getSession().doWork(new Work() {
public void execute(Connection connection) throws SQLException {
connection.setAutoCommit(false);
PreparedStatement stmt = connection.prepareStatement(sql);
for (Object[] arr : parameters) {
int i = 1;
for (Object p : arr) {
stmt.setObject(i++, p);
}
stmt.addBatch();
}
stmt.executeBatch();
connection.commit();
}
});
}
项目:Equella
文件:HibernateMigrationHelper.java
public boolean tableExists(Session session, final String table)
{
final ExtendedDialect locDialect = (ExtendedDialect) this.dialect;
final Boolean[] hasTable = new Boolean[1];
session.doWork(new Work()
{
@Override
public void execute(Connection connection) throws SQLException
{
ResultSet tables = connection.getMetaData().getTables(null, defaultSchema,
locDialect.getNameForMetadataQuery(table, false), new String[]{"TABLE"});
try
{
hasTable[0] = tables.next();
}
finally
{
tables.close();
}
}
});
return hasTable[0];
}
项目:query-search
文件:BaseJpaTest.java
@Before
public void initializeDatabase() {
Session session = entityManager.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
try {
File script = new File(getClass().getResource("/data.sql").getFile());
RunScript.execute(connection, new FileReader(script));
} catch (FileNotFoundException e) {
e.printStackTrace();
throw new RuntimeException("Database initialize script error");
}
}
});
}
项目:quartzdesk-executor
文件:DatabaseSchemaDao.java
/**
* Initializes, or upgrades the current QuartzDesk database schema by
* executing the specified list of SQL scripts.
*
* @param scriptUrls the list of SQL scripts to execute.
* @param schemaVersion the version of the schema after the specified SQL scripts have been applied.
*/
public void initializeOrUpgradeSchema( final List<URL> scriptUrls, final Version schemaVersion )
{
Session session = getSessionFactory().getCurrentSession();
session.doWork( new Work()
{
@Override
public void execute( Connection connection )
throws SQLException
{
DatabaseScriptExecutor scriptExecutor = new DatabaseScriptExecutor();
scriptExecutor.addScriptUrls( scriptUrls );
scriptExecutor.executeScripts( connection );
SchemaUpdate schemaUpdate = new SchemaUpdate()
.withMajor( schemaVersion.getMajor() )
.withMinor( schemaVersion.getMinor() )
.withMaintenance( schemaVersion.getMaintenance() )
.withAppliedAt( Calendar.getInstance() );
insertSchemaUpdate( schemaUpdate );
}
} );
}
项目:document-management-system
文件:DatabaseQueryServlet.java
/**
* List tables from database
*/
private List<String> listTables(Session session) {
final List<String> tables = new ArrayList<String>();
final String[] tableTypes = {"TABLE"};
final String[] tablePatterns = new String[]{"JBPM_%", "OKM_%", "DEFAULT_%", "VERSION_%", "jbpm_%", "okm_%", "default_%",
"version_%"};
session.doWork(new Work() {
@Override
public void execute(Connection con) throws SQLException {
DatabaseMetaData md = con.getMetaData();
for (String table : tablePatterns) {
ResultSet rs = md.getTables(null, null, table, tableTypes);
while (rs.next()) {
tables.add(rs.getString(3));
}
rs.close();
}
}
});
return tables;
}
项目:testcontainers-examples
文件:DockerDatabaseTestUtil.java
/**
* Executes the passed sql files on the EntityManager.
*
* @param entityManager
* the EntityManager
* @param sqlScripts
* sql scripts to execute
*/
public static void insertSqlFile(EntityManager entityManager, final File... sqlScripts) {
entityManager.unwrap(Session.class).doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
// Setup database
try {
for (File file : sqlScripts) {
LOGGER.debug("INSERTing {}", file.getAbsolutePath());
Assume.assumeTrue("SQL-Script not found", file.isFile());
String sql = Resources.toString(file.toURI().toURL(), Charsets.UTF_8);
executeSqlScript(connection, file.getName(), sql);
LOGGER.debug("INSERTing {} ... done", file.getAbsolutePath());
}
} catch (IOException | ScriptException e) {
throw new SQLException(e);
}
}
});
}
项目:testcontainers-examples
文件:DockerDatabaseTestUtil.java
/**
* Executes the passed sql queries on the EntityManager.
*
* @param entityManager
* the EntityManager
*
* @param sqlQuery
* queries to execute
*/
public static void insertSqlString(EntityManager entityManager, final String... sqlQuery) {
entityManager.unwrap(Session.class).doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
// Setup database
try {
for (String query : sqlQuery) {
LOGGER.debug("INSERTing '{}'", query);
executeSqlScript(connection, null, query);
LOGGER.debug("INSERTing '{}' ... done", query);
}
} catch (ScriptException e) {
throw new SQLException(e);
}
}
});
}
项目:testcontainers-examples
文件:DockerDatabaseTestUtil.java
/**
* Inserts test data in DbUnit XML format.
*
* @param entityManager
* the EntityManager
* @param dbUnitTestdata
* test file stream
*/
public static void insertDbUnitTestdata(EntityManager entityManager, final InputStream dbUnitTestdata) {
entityManager.unwrap(Session.class).doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
// Insert Testdata
try {
LOGGER.debug("INSERTing testdata");
DatabaseConnection databaseConnection = new DatabaseConnection(connection);
databaseConnection.getConfig().setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY,
new MySqlDataTypeFactory());
FlatXmlDataSet dataSet = new FlatXmlDataSet(
new FlatXmlProducer(new InputSource(dbUnitTestdata), false, true));
DatabaseOperation.CLEAN_INSERT.execute(databaseConnection, dataSet);
LOGGER.debug("INSERTing testdata ... done");
} catch (DatabaseUnitException e) {
throw new SQLException(e);
}
}
});
}
项目:testcontainers-examples
文件:DockerDatabaseTestUtil.java
/**
* Executes the passed sql files on the EntityManager.
*
* @param entityManager
* the EntityManager
* @param sqlScripts
* sql scripts to execute
*/
public static void insertSqlFile(EntityManager entityManager, final File... sqlScripts) {
entityManager.unwrap(Session.class).doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
// Setup database
try {
for (File file : sqlScripts) {
LOGGER.debug("INSERTing {}", file.getAbsolutePath());
Assume.assumeTrue("SQL-Script not found", file.isFile());
String sql = Resources.toString(file.toURI().toURL(), Charsets.UTF_8);
executeSqlScript(connection, file.getName(), sql);
LOGGER.debug("INSERTing {} ... done", file.getAbsolutePath());
}
} catch (IOException | ScriptException e) {
throw new SQLException(e);
}
}
});
}
项目:testcontainers-examples
文件:DockerDatabaseTestUtil.java
/**
* Executes the passed sql queries on the EntityManager.
*
* @param entityManager
* the EntityManager
*
* @param sqlQuery
* queries to execute
*/
public static void insertSqlString(EntityManager entityManager, final String... sqlQuery) {
entityManager.unwrap(Session.class).doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
// Setup database
try {
for (String query : sqlQuery) {
LOGGER.debug("INSERTing '{}'", query);
executeSqlScript(connection, null, query);
LOGGER.debug("INSERTing '{}' ... done", query);
}
} catch (ScriptException e) {
throw new SQLException(e);
}
}
});
}
项目:testcontainers-examples
文件:DockerDatabaseTestUtil.java
/**
* Inserts test data in DbUnit XML format.
*
* @param entityManager
* the EntityManager
* @param dbUnitTestdata
* test file stream
*/
public static void insertDbUnitTestdata(EntityManager entityManager, final InputStream dbUnitTestdata) {
entityManager.unwrap(Session.class).doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
// Insert Testdata
try {
LOGGER.debug("INSERTing testdata");
DatabaseConnection databaseConnection = new DatabaseConnection(connection);
databaseConnection.getConfig().setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY,
new MySqlDataTypeFactory());
FlatXmlDataSet dataSet = new FlatXmlDataSet(
new FlatXmlProducer(new InputSource(dbUnitTestdata), false, true));
DatabaseOperation.CLEAN_INSERT.execute(databaseConnection, dataSet);
LOGGER.debug("INSERTing testdata ... done");
} catch (DatabaseUnitException e) {
throw new SQLException(e);
}
}
});
}
项目:bamboobsc
文件:HibernateExtendedJpaDialect.java
@Override
public Object beginTransaction(final EntityManager entityManager,
final TransactionDefinition definition) throws PersistenceException, SQLException, TransactionException {
Session session = (Session) entityManager.getDelegate();
if (definition.getTimeout() != TransactionDefinition.TIMEOUT_DEFAULT) {
getSession(entityManager).getTransaction().setTimeout(definition.getTimeout());
}
entityManager.getTransaction().begin();
logger.debug("Transaction started");
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
logger.debug("The connection instance is " + connection.toString());
logger.debug("The isolation level of the connection is " + connection.getTransactionIsolation()
+ " and the isolation level set on the transaction is " + definition.getIsolationLevel() );
DataSourceUtils.prepareConnectionForTransaction(connection, definition);
}
});
return prepareTransaction(entityManager, definition.isReadOnly(), definition.getName());
}
项目:owsi-core-parent
文件:TestMetaModel.java
/**
* <p>Check table and sequence naming. Important because sequence handling is customized through
* {@link PerTableSequenceStyleGenerator} and {@link PerTableSequenceStrategyProvider}.</p>
*
* <p>We check that {@link Person} entity creates a {@code person} table and a {@code person_id_seq} sequence.</p>
*/
@Test
public void testTablesAndSequences() {
EntityManager entityManager = entityManagerUtils.getEntityManager();
((Session) entityManager.getDelegate()).doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
String expectedTableName = Person.class.getSimpleName().toLowerCase(); // person
String expectedSequenceName = expectedTableName + "_id_seq"; // person_id_seq
JdbcRelation table = getRelation(connection, configurationProvider.getDefaultSchema(),
expectedTableName, JdbcDatabaseMetaDataConstants.REL_TYPE_TABLE);
Assert.assertEquals(expectedTableName, table.getTable_name());
JdbcRelation sequence = getRelation(connection, configurationProvider.getDefaultSchema(),
expectedSequenceName, JdbcDatabaseMetaDataConstants.REL_TYPE_SEQUENCE);
Assert.assertEquals(expectedSequenceName, sequence.getTable_name());
}
});
}
项目:openyu-commons
文件:HibernateCfgTest.java
@Test
public void openSession() throws Exception {
createSessionFactory();
//
Session session = sessionFactory.openSession();
session.doWork(new Work() {
public void execute(Connection connection) throws SQLException {
System.out.println("connection: " + connection);
System.out.println("autoCommit: " + connection.getAutoCommit());
System.out.println("transactionIsolation: "
+ connection.getTransactionIsolation());
}
});
System.out.println("flushMode: " + session.getFlushMode());//FlushMode.AUTO
System.out.println(session);
assertNotNull(session);
}
项目:openyu-commons
文件:CommonDaoImplWithoutSpringTest.java
@Test
public void openSession() throws Exception {
createSessionFactory();
//
Session session = sessionFactory.openSession();
session.doWork(new Work() {
public void execute(Connection connection) throws SQLException {
System.out.println("connection: " + connection);
System.out.println("autoCommit: " + connection.getAutoCommit());
System.out.println("transactionIsolation: " + connection.getTransactionIsolation());
}
});
System.out.println("flushMode: " + session.getFlushMode());
System.out.println(session);
assertNotNull(session);
}
项目:openyu-commons
文件:CommonBeanAdapterTest.java
@Test
public void openSession() throws Exception {
Configuration config = new Configuration().configure("hibernate.cfg.xml");
// SessionFactory sessionFactory = config.buildSessionFactory();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties())
.buildServiceRegistry();
SessionFactory sessionFactory = config.buildSessionFactory(serviceRegistry);
System.out.println("sessionFactory: " + sessionFactory);
Session session = sessionFactory.openSession();
session.doWork(new Work() {
public void execute(Connection connection) throws SQLException {
System.out.println("connection: " + connection);
System.out.println("getAutoCommit: " + connection.getAutoCommit());
System.out.println("getTransactionIsolation: " + connection.getTransactionIsolation());
}
});
}
项目:welshare
文件:HibernateExtendedJpaDialect.java
@Override
public Object beginTransaction(EntityManager entityManager,
final TransactionDefinition definition) throws PersistenceException,
SQLException, TransactionException {
Session session = entityManager.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
DataSourceUtils.prepareConnectionForTransaction(connection, definition);
if (connection.isReadOnly() && !definition.isReadOnly()) {
connection.setReadOnly(false);
}
}
});
entityManager.getTransaction().begin();
return prepareTransaction(entityManager, definition.isReadOnly(), definition.getName());
}
项目:snakerflow
文件:Hibernate4Access.java
public void runScript() {
getSession().doWork(new Work() {
public void execute(Connection conn) throws SQLException {
if(JdbcHelper.isExec(conn)) {
return;
}
try {
String databaseType = JdbcHelper.getDatabaseType(conn);
String schema = "db/core/schema-" + databaseType + ".sql";
ScriptRunner runner = new ScriptRunner(conn, true);
runner.runScript(schema);
} catch (Exception e) {
throw new SnakerException(e);
}
}
});
}
项目:spring4probe
文件:JPAAssertions.java
public static void assertTableHasColumn(EntityManager manager, final String tableName, final String columnName) {
SessionImpl session = (SessionImpl) manager.unwrap(Session.class);
final ResultCollector rc = new ResultCollector();
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
ResultSet columns = connection.getMetaData().getColumns(null, null, tableName.toUpperCase(), null);
while(columns.next()) {
if (columns.getString(4).toUpperCase().equals(columnName.toUpperCase())) {
rc.found=true;
}
}
}
});
if (!rc.found) {
fail("Column [" + columnName + "] not found on table : " + tableName);
}
}
项目:spring4probe
文件:JPAAssertions.java
public static void assertTableExists(EntityManager manager, final String name) {
SessionImpl session = (SessionImpl) manager.unwrap(Session.class);
final ResultCollector rc = new ResultCollector();
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
ResultSet tables = connection.getMetaData().getTables(null, null, "%", null);
while(tables.next()) {
if (tables.getString(3).toUpperCase().equals(name.toUpperCase())) {
rc.found=true;
}
}
}
});
if (!rc.found) {
fail("Table not found in schema : " + name);
}
}
项目:sigmah
文件:SQLDialectProvider.java
private void init(HibernateEntityManager hem) {
hem.getSession().doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
String dbName = connection.getMetaData().getDatabaseProductName();
if (dbName.equals(MSSQLDialect.PRODUCT_NAME)) {
dialect = new MSSQLDialect();
} else if (dbName.equals(PostgresDialect.PRODUCT_NAME)) {
dialect = new PostgresDialect();
} else if (dbName.equals(H2Dialect.PRODUCT_NAME)) {
dialect = new H2Dialect();
} else if (dbName.equals(MySQLDialect.PRODUCT_NAME)) {
dialect = new MySQLDialect();
} else {
dialect = new DefaultDialect();
}
}
});
}
项目:sigmah
文件:SiteTableHibernateDAO.java
/**
* {@inheritDoc}
*/
@Override
public <RowT> List<RowT> query(final User user, final Filter filter, final List<SiteOrder> orderings, final SiteProjectionBinder<RowT> binder,
final int retrieve, final int offset, final int limit) {
final List<RowT> list = new ArrayList<RowT>();
final Session session = AbstractDAO.getSession(em());
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
SqlSiteTableDAO dao = new SqlSiteTableDAO(connection, dialect);
list.addAll(dao.query(user, filter, orderings, binder, retrieve, offset, limit));
}
});
return list;
}
项目:manydesigns.cn
文件:DbUtils4Its.java
public static void callProcedure(Persistence persistence, final String sql) {
getSession().doWork(new Work() {
public void execute(Connection connection) throws SQLException {
CallableStatement procStatement = null;
try {
System.err.println(sql);
procStatement = connection.prepareCall(sql);
procStatement.execute();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != procStatement) {
procStatement.close();
}
}
}
});
}
项目:manydesigns.cn
文件:QueryUtils.java
/**
* Runs a SQL query against a session. The query can contain placeholders for the parameters, as supported by
* {@link PreparedStatement}. <br>
* INSERT UPDATE DELETE DROP CREATE ALTER TRUNCATE RENAME sueprpan add
*
* @param session the session
* @param queryString the query
* @param parameters parameters to substitute in the query
* @return the results of the query as an Object[] (an array cell per column)
*/
public static int runSqlDml(Session session, final String queryString, final Object[] parameters) {
final List<Integer> result = new ArrayList<Integer>();
try {
session.doWork(new Work() {
public void execute(Connection connection) throws SQLException {
Statement stmt = connection.createStatement();
try {
result.add(stmt.executeUpdate(queryString));
} finally {
stmt.close();
}
}
});
} catch (HibernateException e) {
result.add(-1);
session.getTransaction().rollback();
session.beginTransaction();
throw e;
}
if (result.size() > 0) {
return result.get(0);
}
return -1;
}
项目:manydesigns.cn
文件:DbUtils.java
public static void callProcedure(Persistence persistence, final String sql) {
Session session = persistence.getSession(getDbName());
session.doWork(new Work() {
public void execute(Connection connection) throws SQLException {
CallableStatement procStatement = null;
try {
System.err.println(sql);
procStatement = connection.prepareCall(sql);
procStatement.execute();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != procStatement) {
procStatement.close();
}
}
}
});
}
项目:openyu-mix
文件:HibernateCfgTest.java
@Test
public void openSession() throws Exception {
createSessionFactory();
//
Session session = sessionFactory.openSession();
session.doWork(new Work() {
public void execute(Connection connection) throws SQLException {
System.out.println("connection: " + connection);
System.out.println("autoCommit: " + connection.getAutoCommit());
System.out.println("transactionIsolation: "
+ connection.getTransactionIsolation());
}
});
System.out.println("flushMode: " + session.getFlushMode());
System.out.println(session);
assertNotNull(session);
}
项目:hibernate-master-class
文件:AbstractPooledSequenceIdentifierTest.java
private void insertNewRow(Session session) {
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
Statement statement = null;
try {
statement = connection.createStatement();
statement.executeUpdate("INSERT INTO sequenceIdentifier VALUES NEXT VALUE FOR hibernate_sequence");
} finally {
if (statement != null) {
statement.close();
}
}
}
});
}
项目:hibernate-master-class
文件:TransactionIsolationExternalDataSourceConnectionProviderTest.java
@Test
public void test() {
Session session = null;
Transaction txn = null;
try {
session = getSessionFactory().openSession();
txn = session.beginTransaction();
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
LOGGER.debug("Transaction isolation level is {}", Environment.isolationLevelToString(connection.getTransactionIsolation()));
}
});
txn.commit();
} catch (RuntimeException e) {
if ( txn != null && txn.isActive() ) txn.rollback();
throw e;
} finally {
if (session != null) {
session.close();
}
}
}
项目:hibernate-master-class
文件:TransactionIsolationInternalC3P0ConnectionProviderTest.java
@Test
public void test() {
Session session = null;
Transaction txn = null;
try {
session = getSessionFactory().openSession();
txn = session.beginTransaction();
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
LOGGER.debug("Transaction isolation level is {}", Environment.isolationLevelToString(connection.getTransactionIsolation()));
}
});
txn.commit();
} catch (RuntimeException e) {
if ( txn != null && txn.isActive() ) txn.rollback();
throw e;
} finally {
if (session != null) {
session.close();
}
}
}
项目:hibernate-master-class
文件:TransactionIsolationDriverConnectionProviderTest.java
@Test
public void test() {
Session session = null;
Transaction txn = null;
try {
session = getSessionFactory().openSession();
txn = session.beginTransaction();
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
LOGGER.debug("Transaction isolation level is {}", Environment.isolationLevelToString(connection.getTransactionIsolation()));
}
});
txn.commit();
} catch (RuntimeException e) {
if ( txn != null && txn.isActive() ) txn.rollback();
throw e;
} finally {
if (session != null) {
session.close();
}
}
}
项目:hibernate-master-class
文件:TransactionIsolationExternalDataSourceExternalconfgiurationConnectionProviderTest.java
@Test
public void test() {
Session session = null;
Transaction txn = null;
try {
session = getSessionFactory().openSession();
txn = session.beginTransaction();
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
LOGGER.debug("Transaction isolation level is {}", Environment.isolationLevelToString(connection.getTransactionIsolation()));
}
});
txn.commit();
} catch (RuntimeException e) {
if ( txn != null && txn.isActive() ) txn.rollback();
throw e;
} finally {
if (session != null) {
session.close();
}
}
}
项目:opencron
文件:HibernateDao.java
@Transactional(readOnly = false)
public void executeBatch(final String[] sqlList) {
getSession().doWork(new Work() {
public void execute(Connection connection) throws SQLException {
connection.setAutoCommit(false);
Statement stmt = connection.createStatement();
for (String sql : sqlList) {
stmt.addBatch(sql);
}
stmt.executeBatch();
connection.commit();
}
});
}
项目:Equella
文件:HibernateMigrationHelper.java
public List<String> getAddNotNullSQLIfRequired(Session session, String tableName, String... columns)
{
final Table table = findTable(tableName);
final List<String> sqlStrings = new ArrayList<String>();
final Set<String> colset = new HashSet<String>(Arrays.asList(columns));
session.doWork(new Work()
{
@Override
public void execute(Connection connection) throws SQLException
{
ResultSet colresult = connection.getMetaData().getColumns(getDefaultCatalog(),
extDialect.getNameForMetadataQuery(getDefaultSchema(), false),
extDialect.getNameForMetadataQuery(table.getName(), table.isQuoted()), "%");
try
{
while( colresult.next() )
{
String columnName = colresult.getString("COLUMN_NAME").toLowerCase();
if( colset.contains(columnName)
&& "yes".equals(colresult.getString("IS_NULLABLE").toLowerCase()) )
{
Column column = table.getColumn(new Column(columnName));
StringBuffer alter = new StringBuffer("alter table ")
.append(table.getQualifiedName(dialect, defaultCatalog, defaultSchema)).append(' ')
.append(extDialect.getAddNotNullSql(mapping, column));
sqlStrings.add(alter.toString());
}
}
}
finally
{
colresult.close();
}
}
});
return sqlStrings;
}
项目:Equella
文件:ConvertNtextDatabaseMigration.java
@Override
protected int countDataMigrations(final HibernateMigrationHelper helper, Session session)
{
final int[] ctr = new int[]{0};
session.doWork(new Work()
{
@Override
public void execute(Connection connection) throws SQLException
{
final DatabaseMetaData metaData = connection.getMetaData();
final String defaultCatalog = helper.getDefaultCatalog();
final String defaultSchema = helper.getDefaultSchema();
final ResultSet tableSet = metaData.getTables(defaultCatalog, defaultSchema, null,
new String[]{"TABLE"});
try
{
while( tableSet.next() )
{
ctr[0]++;
}
}
finally
{
tableSet.close();
}
}
});
return ctr[0];
}
项目:Equella
文件:ConvertVarcharDatabaseMigration.java
@Override
protected int countDataMigrations(final HibernateMigrationHelper helper, Session session)
{
final int[] ctr = new int[]{0};
session.doWork(new Work()
{
@Override
public void execute(Connection connection) throws SQLException
{
final DatabaseMetaData metaData = connection.getMetaData();
final String defaultCatalog = helper.getDefaultCatalog();
final String defaultSchema = helper.getDefaultSchema();
final ResultSet tableSet = metaData.getTables(defaultCatalog, defaultSchema, null,
new String[]{"TABLE"});
try
{
while( tableSet.next() )
{
ctr[0]++;
}
}
finally
{
tableSet.close();
}
}
});
return ctr[0];
}
项目:lams
文件:SessionImpl.java
@Override
public void doWork(final Work work) throws HibernateException {
WorkExecutorVisitable<Void> realWork = new WorkExecutorVisitable<Void>() {
@Override
public Void accept(WorkExecutor<Void> workExecutor, Connection connection) throws SQLException {
workExecutor.executeWork( work, connection );
return null;
}
};
doWork( realWork );
}
项目:webpedidos
文件:ExecutorRelatorioHibernate.java
@Override
public void emite() {
// we CAN'T close the resource, as it's managed by Hibernate
@SuppressWarnings("resource")
Session session = manager.unwrap(Session.class);
Work work = new EmissorRelatorioWork(this.emissor);
session.doWork(work);
}
项目:spring-boot
文件:CustomHibernateJpaDialect.java
@Override
public Object beginTransaction(final EntityManager entityManager,
final TransactionDefinition definition)
throws PersistenceException, SQLException, TransactionException {
Session session = (Session) entityManager.getDelegate();
if (definition.getTimeout() != TransactionDefinition.TIMEOUT_DEFAULT) {
getSession(entityManager).getTransaction().setTimeout(
definition.getTimeout());
}
final TransactionData data = new TransactionData();
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
Integer previousIsolationLevel = DataSourceUtils
.prepareConnectionForTransaction(connection, definition);
data.setPreviousIsolationLevel(previousIsolationLevel);
data.setConnection(connection);
}
});
entityManager.getTransaction().begin();
Object springTransactionData = prepareTransaction(entityManager,
definition.isReadOnly(), definition.getName());
data.setSpringTransactionData(springTransactionData);
return data;
}
项目:document-management-system
文件:MimeTypeServlet.java
/**
* Import mime types into database
*/
private void importMimeTypes(String userId, HttpServletRequest request, HttpServletResponse response,
final byte[] data, Session dbSession) throws DatabaseException,
IOException, SQLException {
log.debug("import({}, {}, {}, {}, {})", new Object[]{userId, request, response, data, dbSession});
dbSession.doWork(new Work() {
@Override
public void execute(Connection con) throws SQLException {
Statement stmt = con.createStatement();
InputStreamReader is = new InputStreamReader(new ByteArrayInputStream(data));
BufferedReader br = new BufferedReader(is);
String query;
try {
while ((query = br.readLine()) != null) {
stmt.executeUpdate(query);
}
} catch (IOException e) {
throw new SQLException(e.getMessage(), e);
}
LegacyDAO.close(stmt);
}
});
log.debug("import: void");
}
项目:document-management-system
文件:ReportUtils.java
/**
* Execute report
*/
private static void executeDatabase(Session dbSession, final ByteArrayOutputStream baos, final JasperReport jr,
final Map<String, Object> params, final int format) {
dbSession.doWork(new Work() {
@Override
public void execute(Connection con) throws SQLException {
try {
ReportUtils.generateReport(baos, jr, params, format, con);
} catch (JRException e) {
throw new SQLException(e.getMessage(), e);
}
}
});
}