2

,오라클 시퀀스에서 내가 같이 SimpleJdbcInsert을 사용하고

SimpleJdbcInsert simpleJdbcInsert = new SimpleJdbcInsert(dataSource).withTableName(TABLE_NAME).withSchemaName(SCHEMA_NAME); 

Map<String, Object> namedParameterMap = new HashMap<String, Object>(); 
namedParameterMap.put("ID", "MYSEQ.NEXTVAL"); 
namedParameterMap.put("COLUMN1NAME",obj1.getColumn1Value()); 
namedParameterMap.put("COLUMN2NAME", obj1.getColumn2Value()); 

simpleJdbcInsert.withoutTableColumnMetaDataAccess().execute(namedParameters); 

을 키를 생성 SimpleJdbcInsert 객체에서 오라클의 순서를 지정하지만 그것은 단지 ID 열에 대해 오류가 발생, 다른 열이 나는 ID 열을 주석으로 확인하는 잘 작동 .

java.lang.NumberFormatException: null 

올바르게 작동하는 Oracle Sequence를 확인했습니다. 많은 블로그를 확인했지만 SimpleJdbcInsert로 오라클 시퀀스를 사용하는 적절한 블로그를 찾을 수 없습니다.

답변

0

jdbcTemplate이 "MYSEQ.NEXTVAL"을 lang으로 구문 분석하려고 시도했기 때문에 이는 ID의 데이터 유형입니다. SQL 문을 명명 된 매개 변수로 보낼 수 없습니다.