reparedStatement(final Connection conn, final String sql, boolean scrollable, boolean useGetGeneratedKeys)
throws SQLException {
if ( scrollable && !factory.isScrollableResultSetsEnabled() ) {
throw new AssertionFailure("Hibernate tried to grab a scrollable result set");
}
if ( useGetGeneratedKeys && !factory.isGetGeneratedKeysEnabled() ) {
throw new AssertionFailure("Hibernate tried to prepare a statement assuming unsupported getGeneratedKeys");
}
sqlLog.debug(sql);
if ( factory.isShowSqlEnabled() ) System.out.println("Hibernate: " + sql);
try {
log.trace("preparing statement");
if (scrollable) {
return conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
}
else if (useGetGeneratedKeys) {
return GetGeneratedKeysHelper.prepareStatement(conn, sql);
}
else {
return conn.prepareStatement(sql);
}
}
catch (SQLException sqle) {
JDBCExceptionReporter.logExceptions(sqle);
throw sqle;
}
}
private void closePreparedStatement(PreparedStatement ps) throws SQLException {
try {
log.trace("closing statement");
ps.close();
}
catch (SQLException sqle) {
JDBCExceptionReporter.logExceptions(sqle);
throw sqle;
}
}
private void setStatementFetchSize(PreparedStatement statement) throws SQLException {
Integer statementFetchSize = factory.getJdbcFetchSize();
if (statementFetchSize!=null) statement.setFetchSize( statementFetchSize.intValue() );
}
public Connection openConnection() throws HibernateException {
try {
return factory.getConnectionProvider().getConnecti
上一篇:
BatcherFactory.java
下一篇:
中小企业技术创新的动力因素分析