커서가 DB에 접속할 때 계속 JPA를 사용해서 나도 얼떨결에 쓰게 됐다.
문제가 생기면 AI에 지나치게 의존하지 말고 어디가 문제인지 디버깅을 해야 한다...
디버거나 System.out.println()을 적극적으로 쓰자...
DB 관련 간단한 디버그(DB 접속 확인)
컨트롤러
@PersistenceContext
private EntityManager entityManager;
try {
Query query = entityManager.createNativeQuery("SELECT 1");
query.getSingleResult();
System.out.println("데이터베이스 연결 성공");
} catch (PersistenceException e) {
System.err.println("데이터베이스 연결 실패: " + e.getMessage());
}
서비스
try {
Query nativeQuery = entityManager.createNativeQuery("SELECT COUNT(*) FROM e_blue.infr_ctnt_invn");
int count = ((Number) nativeQuery.getSingleResult()).intValue();
System.out.println("Native query count: " + count);
if (count > 0) {
Query dataQuery = entityManager.createNativeQuery("SELECT * FROM e_blue.infr_ctnt_invn", ContractListInfo.class);
dataQuery.setMaxResults(1);
List<ContractListInfo> result = dataQuery.getResultList();
if (!result.isEmpty()) {
System.out.println("첫 번째 레코드: " + result.get(0));
}
}
} catch (Exception e) {
System.err.println("쿼리 실행 중 오류 발생: " + e.getMessage());
e.printStackTrace();
}
'정리노트 > 메모' 카테고리의 다른 글
객체를 요소로 가지는 Array에서 Set 만들기 (0) | 2025.03.11 |
---|---|
첫 코드 리팩토링 (0) | 2024.11.07 |
240730 메모 (0) | 2024.07.30 |
ClassNotFoundException 해결 방법(ContextLoaderListener) (0) | 2024.06.17 |
24.06.11. 노트 (0) | 2024.06.11 |