org.hibernate.testing.cleaner.MySQL5DatabaseCleaner Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-testing Show documentation
Show all versions of hibernate-testing Show documentation
Support for testing Hibernate ORM functionality
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.testing.cleaner;
import java.sql.Connection;
import java.sql.SQLException;
/**
* @author Christian Beikov
*/
public class MySQL5DatabaseCleaner extends AbstractMySQLDatabaseCleaner {
@Override
public boolean isApplicable(Connection connection) {
try {
return connection.getMetaData().getDatabaseProductName().startsWith( "MySQL" ) && connection.getMetaData()
.getDatabaseMajorVersion() < 8;
}
catch (SQLException e) {
throw new RuntimeException( "Could not resolve the database metadata!", e );
}
}
@Override
protected String createClearingStatementForTable(String tableSchema, String tableName) {
// We do not use TRUNCATE for MySQL 5.7 due to https://bugs.mysql.com/bug.php?id=68184
return "DELETE FROM " + tableSchema + "." + tableName;
}
}