我试图用Spring截断一个表:
jdbcTemplate.execute("TRUNCATE TABLE " + table);
得到错误:
Caused by: org.springframework.jdbc.BadSqlGrammarException:
StatementCallback; bad SQL grammar
[TRUNCATE TABLE RESULT_ACCOUNT];
nested exception is
java.sql.SQLException: Unexpected
token: TRUNCATE in statement
[TRUNCATE]
有任何想法吗?
解决方法:
这里的问题是您不能在现有事务中执行任何DDL(例如truncate).原因是DDL执行自动提交而不与事务概念(即:回滚)一起生成.所以我把方法设置为NOT_SUPPORTED,我很好.