N° 01 — 목록

'transaction' (2)

  1. Backend Development/Spring

    Spring - 09. transaction

    @Transactional이 rollback하지 않는 예외 — 트랜잭션 관리의 함정@Servicepublic class TransferService { @Transactional public void transfer(Long from, Long to, long amount) { accountRepository.withdraw(from, amount); try { externalService.notify(to); // 외부 API 호출 실패 } catch (Exception e) { log.warn("알림 실패", e); // 예외를 잡아서 처리함 } accountRepositor..

    · 댓글
  2. Backend Development/Java

    Java - 21. jdbc

    Statement와 PreparedStatement의 차이가 SQL Injection을 막는 이유 — JDBC 기초// Java 25 — 위험: SQL Injection 취약Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery( "SELECT * FROM users WHERE name = '" + userInput + "'");// userInput = "'; DROP TABLE users; --" → 테이블 삭제!이 코드를 작성한 개발자는 악의가 없었다. 그냥 문자열을 연결했을 뿐이다. 하지만 공격자가 '; DROP TABLE users; --를 입력하면 SQL 문이 두 개로 나뉘어 실행된다. PreparedStateme..

    · 댓글