我正在通过Eclipse运行我的junit测试,一切都很好,包括下面的插入。当我从命令行运行它通过ant时,我得到:
org.springframework.jdbc.BadSqlGrammaException:StatementCallback;错误的SQL语法[插入实验(id,name,description,journal,user_access)值('1','experimentOne','first experiment','references 1','public')];嵌套异常为java.sql.SQLException:语句[插入到experiment_metadata(id,name,description,journal_references,user_access)中的列计数不匹配。
忧郁能帮上忙吗?我确信sql语句是正确的。提前谢谢。
答案:我想明白了。我们有一个包含旧类的jar,它反映了类路径中的一个旧模式。这个jar包含在ant中,而没有包含在Eclipse中。
关于如何导出架构:
LocalSessionFactoryBean localfactory1=(LocalSessionFactoryBean)this.getApplicationContext().getBean("&readOnlySessionFactory");
String customImportFile = "customImportFile.txt";
System.err.println("Performing schema export with custom import file: '"
+ customImportFile + "'.");
System.err.println("------JdbcTemplate" + jdbcTemplate.getDataSource());
try {
SchemaExport export = new SchemaExport(localfactory1.getConfiguration(), localfactory1.getDataSource().getConnection());
export.setOutputFile(customImportFile);
export.create(false, true);
}
catch (Exception exp)
{
exp.printStackTrace();
}