I am using the latest version of DBUnit (2.4.7), on Oracle 11GR2. I am using Java 6 (1.6.0_15) and the latest version of Oracle client jar (jdbc6.jar)
I could not successfully load any data referenced by the Oracle CLOB field from the XML file into the database.
I used all kinds of combinations of versions:
- Oracle JDBC library ojdbc5.jar, ojdbc6.jar, oracle 10 cans
Hibernate library, etc. I think the problem lies in DBUnit. See below stack trace.
<groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.5.0-CR-2</version>
and
<groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>3.4.0.GA</version>
I am running Java 6, 1.6.0_15.
I tried:
1) FlatXmlDataSet using this definition
<MESSAGE msg_id="1" mtp_id="1" msg_detail="asadds" />
2) XmlDataSet using this definition
<table name="MESSAGE"> <column>MSG_ID</column> <column>MTP_ID</column> <column>MSG_DETAIL</column> <row> <value>1</value> <value>1</value> <value>dsad</value> </row> </table>
Any help would be greatly appreciated!
The stack trace follows:
at org.apache.maven.surefire.booter.SurefireBooter.main (SurefireBooter.java:980)
ERROR [10032010 14: 15: 13,031] - exception creating EntityManager: [] (MessageDAOTest.java:97)
java.lang.RuntimeException: Exception in JpaDBTestCase
at com.ert.commons.junit4.hibernate.JpaDBTestCase.loadDbunitFiles (JpaDBTestCase.java:97)
at com.ert.ertmon.dao.ejb.impl.MessageDAOTest.setUpBeforeClass (MessageDAOTest.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke (Method.java∗97)
at org.junit.runners.model.FrameworkMethod $ 1.runReflectiveCall (FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:41)
at org.junit.internal.runners.statements.RunBefores.evaluate (RunBefores.java:27)
at org.junit.internal.runners.statements.RunAfters.evaluate (RunAfters.java:31)
at org.junit.runners.ParentRunner.run (ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute (JUnit4TestSet.java:62)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet (AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute (AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run (Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke (Method.java∗97)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess (SurefireBooter.java data34)
at org.apache.maven.surefire.booter.SurefireBooter.main (SurefireBooter.java:980)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to oracle.sql.CLOB
at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical (OraclePreparedStatement.java:7898)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal (OraclePreparedStatement.java:7511)
at oracle.jdbc.driver.OraclePreparedStatement.setObject (OraclePreparedStatement.java:7984)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject (OraclePreparedStatementWrapper.java:237)
at org.dbunit.dataset.datatype.ClobDataType.setSqlValue (ClobDataType.java:71)
at org.dbunit.database.statement.SimplePreparedStatement.addValue (SimplePreparedStatement.java:73)
at org.dbunit.database.statement.AutomaticPreparedBatchStatement.addValue (AutomaticPreparedBatchStatement.java:63)
at org.dbunit.operation.AbstractBatchOperation.execute (AbstractBatchOperation.java:186)
at org.dbunit.AbstractDatabaseTester.executeOperation (AbstractDatabaseTester.java:190)
at org.dbunit.AbstractDatabaseTester.onSetup (AbstractDatabaseTester.java:103)
at com.ert.commons.junit4.hibernate.JpaDBTestCase.loadDbunitFile (JpaDBTestCase.java:136)
at com.ert.commons.junit4.hibernate.JpaDBTestCase.loadDbunitFiles (JpaDBTestCase.java:92)
... 21 more
java orm hibernate clob dbunit
Paul
source share