이것은 내가 머리를 긁적 거리는 것입니다. 특히 다루기가 너무 힘들어졌습니다.Spring JDBCTemplate 항상 QueryTimeOutException이 발생합니다.
는 다음과 같은 코드를 생각해
String query = "UPDATE ORDERS SET VOLUME=?,CONTRACT_ID=?,PROJECT_ID=?,WORKSITE_ID=?,DROPZONE_ID=?,DESCRIPTION_ID=?,MANAGER_ID=?,DELIVERY_DATE=?,REVISION=REVISION+1) WHERE ID=?";
jdbcTemplate.update(query, orderEntity.getVolume(), orderEntity.getContractNo(), orderEntity.getProjectID(), orderEntity.getWorksiteID(), orderEntity.getDropzoneID(), orderEntity.getDescriptionID(), orderEntity.getManagerID(), orderEntity.getDeliveryDate(), id);
우리는 SQL 쿼리가 잘못된 것을 볼 수있다 - 따라서 일부 SQL 오류가 발생합니다을하지만, 하나는 그것을 놓친 것. 봄은 (나를 위해) QueryTimeoutException
을 던집니다. 나는 그걸로 일종의 일이지만 도움이되지 않습니다.
String query = "INSERT INTO ORDERS(ID,REISION,CONTRACT_ID,PROJECT_ID,WORKSITE_ID,DROPZONE_ID,DESCRIPTION_ID,MANAGER_ID,VOLUME,DELIVERY_DATE) VALUES(?,?,?,?,?,?,?,?,?,?)";
jdbcTemplate.update(query, id, revision, etc);
쉽게 놓친 것 또 다른 맞춤법 실수를 해보자 - 개정은 REISION로 철자가) 봄은 다시 또 다른 QueryTimeoutException
가 발생합니다. 이것은 이제 내가 예외를 얻는다면 그것이 실제로 무엇인지 알지 못한다는 것을 의미합니다. 구문 오류입니까? 열 맞춤법 오류입니까? 외래 키 제약이 따르지 않는다는 사실을 (훨씬 더주의하기가 어렵습니까?) 사실입니까?
디버깅하는 동안, 이것은 아마도 가장 분노한 일입니다. 제가 아는 건 내 쿼리를 실행하지 못한 것입니다. 유용한 정보를 얻으려면 어떻게해야합니까? 내 pom.xml
파일에 추가하지 않은 내용이 있습니까?
편집 :
다음은 좋은 예입니다. id, REVISION 및 TEXT 열이있는 DESCRIPTIONS
테이블이 있습니다. 이들 모두는 null이 허용되지 않는 것으로 표시됩니다. MySQL의에 쿼리를 실행할 때 또한 쿼리 시간 제한의 예외가 발생합니다
DescriptionEntity descriptionEntity = new DescriptionEntity("newDesc", 1, null);
String query = "INSERT INTO DESCRIPTIONS (ID,REVISION,TEXT) VALUES(?,?,?)";
jdbcTemplate.update(query, descriptionEntity.getID(), 1, descriptionEntity.getText());
은 정중하게 넣어, 이것은 나 ERROR 1048 (23000): Column 'TEXT' cannot be null
에게 약간의 고통을 준다.
여기서 어떤 데이터베이스를 사용하십니까? –
어떤 RDBMS를 사용하고 있습니까?해당 데이터베이스 환경에서이 SQL을 실행 한 결과는 무엇입니까? – woemler
mysql을 사용합니다. 내가 출력물을 올릴 기회를 얻었을 때 – DrugCrazed