Я бегу dbunit 2.4.9. Я получаю AmbiguousTableNameException после переключения на новый экземпляр oracle. doc указывает, что я должен поместить имя схемы в соединение при его создании. Но я не могу переопределить getConnection на DBTestCase, потому что он является окончательным. Должен ли я выбрать другой суперкласс? Я что-то пропускаю?Как изменить dbunit getConnection, несмотря на то, что он окончательный
Вот мой класс testcase.
public abstract class DbTestCase extends DBTestCase
{
private static boolean doOnce = false;
private Session session;
public DbTestCase() throws Exception
{
super();
System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, "oracle.jdbc.driver.OracleDriver");
System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, "jdbc:oracle:thin:@host:1521:sid");
System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_USERNAME, "id");
System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_PASSWORD, "xxxx_15");
}
@Override
protected void setUp() throws Exception
{
super.setUp();
if(!doOnce){
doOnce = true;
BasicConfigurator.configure();
MyHibernateFactory.initilize();
}
session = MyHibernateFactory.getSession();
session.beginTransaction();
}
public void tearDown() throws Exception
{
...
}
@Override
protected IDataSet getDataSet() throws Exception
{
return new FlatXmlDataSetBuilder().build(new FileInputStream("src/dbtest/dataset.xml"));
}
}