Я работаю с Spring Framework, и я следую разработке, основанному на тестах. Я получаю исключение, но я не совсем уверен, почему так мне хотелось бы узнать, что на самом деле работает jdbc. Попытка запроса следующее:Отладка SQL-запросов с помощью 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
(который я нахожу бесконечно бесполезным), поэтому я не знаю, что может быть неправильным.
EDIT: теперь добавлен 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
И это не полезно, потому что? Ваш запрос занимает слишком много времени. Проверьте, нет ли каких-либо блокировок в вашей базе данных. –
Я нашел, что это выбрасывает это независимо от того, что проблема была - ошибки ограничения внешнего ключа также вызвали это. – DrugCrazed