【发布时间】:2014-03-11 11:37:40
【问题描述】:
我正在使用 Spring 框架,并且正在关注测试驱动的开发。我遇到了一个异常,但我不完全确定为什么,所以我想看看查询 jdbc 实际运行的是什么。尝试查询如下:
public OrderEntity addOrderEntity(OrderEntity orderEntity) {
String query = "INSERT INTO ORDERS(ID,REVISION,CONTRACT_ID,PROJECT_ID,WORKSITE_ID,DROPZONE_ID,DESCRIPTION_ID,MANAGER_ID,DELIVERY_DATE,VOLUME) VALUES(?,?,?,?,?,?,?,?,?,?)";
String id = (orderEntity.get_id() != null) ? orderEntity.get_id() : UUID.randomUUID().toString();
jdbcTemplate.update(id,1,orderEntity.getContractNo(),orderEntity.getProjectID(),orderEntity.getWorksiteID(),orderEntity.getDropzoneID(),orderEntity.getDescriptionID(),orderEntity.getManagerID(),orderEntity.getDeliveryDate(),orderEntity.getVolume());
return getOrderEntityById(id);
}
那么,查看 JDBC 正在运行什么查询或获取一些有用信息的最佳方法是什么?它目前会抛出 org/springframework/dao/QueryTimeoutException(我觉得这毫无帮助),所以我真的不知道可能出了什么问题。
编辑:现在添加了 log4j,但仍然没有得到有用的查询。属性文件如下:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5t] %-5p %c - %m%n
log4j.rootLogger=trace, stdout
log4j.logger.org.springframework.jdbc.core=DEBUG
log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=DEBUG
【问题讨论】:
-
这没有帮助,因为?您的查询需要很长时间才能完成。检查您的数据库上是否没有任何锁。
-
我发现不管问题是什么,它都会抛出这个 - 外键约束失败也会导致这个。