baseDAO
基本的な操作のメソッドを含むがありますCRUD
。そして、それぞれの操作に対して、私たちは操作を行っていgetJpaTemplate.xxx()
ます。コードは本番環境では正常に機能していますが、レイヤーUTs
用に作成する必要があり、を使用しています。DAO
DBUnit
例とDBUnit
クラスの記述を見て、読み取り操作は正常に機能しますが、削除、更新、および作成操作はまったく機能しないことを確認しました。
呼び出そうとするとDAO.save(object)
例外はスローされません。次の行に移動しますが、テーブルを開いて値を確認しようとすると、トランザクションが失敗したり例外がスローされたりすることなく、新しい行が挿入されません。
接続に問題があるのではないかと思います。getConnection()
参考までにメソッドを添付しています。
protected IDatabaseConnection getConnection() throws Exception {
Connection con = dataSource.getConnection();
DatabaseConnection connection = new DatabaseConnection(con);
DatabaseConfig config = connection.getConfig();
config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY,new oracleDataTypeFactory());
return connection;
}
setup ()
ファイルからデータを入力するために呼び出される別のメソッドがありXML
ます。これは正常に機能します。参考までに、ここにコードを追加しています。
protected void insertData (String xmlDataFilePath) {
IDatabaseConnection dbConnection= getConnection();
TransactionOperation.CLEAN_INSERT.execute(dbConnection,getDataSet(xmlDataFilePath));
connection = jPATransactionManager.getDataSource().getConnection();
connection.setAutoCommit(false);
savepoint = connection.setSavepoint("Data inserted in db");
dbConnection.close();
}
dbに挿入された新しい行が表示されない限り、さらに先に進む方法がわかりません。
やってみたから
getJpaTemplate().save(object);
getJpaTemplate().load(ClassName.class, object's id);
これは私を返しnull
、dbテーブルにもエントリはありません。
何か提案はありますか?
前もって感謝します。
JE。