본 글은 다크모드에 최적화되어 있습니다. 특정 쿼리문을 만족하는 row가 존재하는지 확인하기 위해서는 queryForObject() 메서드를 사용해야 합니다. 이 방법은 Jpa가 아닌 JdbcTemplate을 사용하는 경우에 해당합니다. queryForObject JdbcTemplate은 queryForObject() 메서드를 제공합니다. 오버로딩이 되어 있기 때문에 여러 개가 존재합니다. T queryForObject(String sql, Object[] args, Class requiredType) 다음 상황을 가정해 봅시다. 책을 대출하려고 할 때 사용자의 이름과 책의 이름을 입력해야 합니다. 이때 사용자 이름이 등록되어 있는지 확인하려면 다음과 같이 코드를 작성할 수 있습니다. public boo..
jpa로 쿼리문을 작성하는데 자꾸 예외가 터졌는데 조금 헤맸다. 잘못된 쿼리문 Optional existsByBookNameAndUserIdAndIsReturn (String bookName, Long userId, boolean isReturn); 난 위의 쿼리문이 다음과 같은 SQL문을 기대했고 LoanHistory 객체가 반환될 것이라 생각했다. SELECT * FROM loan_history WHERE book_name = ? AND user_id = ? AND is_return = ? 근데 아래와 같이 ClassCastException 예외가 터졌다. Boolean 타입이 LoanHistory 타입으로 타입 변환이 안 된다고 한다. Spring Data Jpa에서 exists 쿼리문은 boole..