JPA 에서는 UPDATE를 따로 지원해주지 않으므로 직접 쿼리 작성을 해야한다.
주의할 점은 쿼리문 위에 @Modifying 애노테이션을 붙여줘야한다는 점이다.
@Modifying
@Query("UPDATE user SET inquiry = inquiry + 1 WHERE userId = :userId")
void updateInquiry(@Param("userId") Long userId);
하지만 위와 같이 작성했음에도 불구하고 오류가 나는 경우가 있다.
또 한가지 주의할 점은 대소문자에 주의해야한다.
쿼리에서 테이블 명을 쓸 때는 해당 테이블과 매핑된 도메인의 클래스 명을 사용해야 한다.
예를 들어, user테이블과 매핑된 클래스(@Table(name="user")와 매핑된 클래스)가 User.java 이면,
클래스 명은 User이다.
즉, Update 쿼리를 작성 시에 위와 같이 user를 쓰면 에러가 발생되고 User로 작성해야 된다는 말이다.
'Programming > Java & JSP & Spring' 카테고리의 다른 글
[Java] 배열 생성과 초기화 (0) | 2017.10.17 |
---|---|
[Java] 자주 쓰이는 형변환 (0) | 2017.10.15 |
[JSON] KEY 값 추출해서 사용하기 (0) | 2017.08.17 |
[Java] String, Date 타입 간의 변환 (0) | 2017.08.17 |
[Spring] 예외처리 (0) | 2017.08.12 |