문제:
- Oracle DB에 INSERT 해도 데이터가 실제로 저장되지 않음
- executeQuery에서 autoCommit 옵션이 없었음
수정:
1. 쿼리 타입 확인 (INSERT/UPDATE/DELETE/MERGE)
2. DML 쿼리는 autoCommit: true 설정 ✅
3. SELECT 쿼리는 autoCommit: false (기본값)
로깅 추가:
- isDML 확인
- autoCommit 상태
- rowsAffected 추가
결과:
- ✅ INSERT 실행 후 자동 COMMIT
- ✅ UPDATE/DELETE도 자동 COMMIT
- ✅ SELECT는 영향 없음
- ✅ 오라클 데이터 정상 저장
✨ 주요 기능:
- 배치 설정 관리 (생성/수정/삭제/실행)
- 배치 실행 로그 관리 및 모니터링
- 배치 스케줄러 자동 실행 (cron 기반)
- 외부 DB 연결을 통한 데이터 동기화
- Oracle, MSSQL, MariaDB 커넥터 지원
🔧 백엔드 구현:
- BatchManagementController: 배치 설정 CRUD
- BatchExecutionLogController: 실행 로그 관리
- BatchSchedulerService: 자동 스케줄링
- BatchExternalDbService: 외부 DB 연동
- 배치 관련 테이블 스키마 추가
🎨 프론트엔드 구현:
- 배치 관리 대시보드 UI
- 배치 생성/수정 폼
- 실행 로그 모니터링 화면
- 수동 실행 및 상태 관리
🛡️ 안전성:
- 기존 시스템과 독립적 구현
- 트랜잭션 기반 안전한 데이터 처리
- 에러 핸들링 및 로깅 강화