가보자고!!!
90
2022-05-27 00:57:01
2
275

쿼리문에서 어떤게 잘못 되었는지 모르겠네요..


public void deleteOne(Long id){
        em.createQuery("delete from Answer i where i.id = : id", Answer.class)
                .setParameter("id", id);
        return;
    }

라는 쿼리문을 만들었는데, 실행을 시키면 아래와 같은 에러가 나옵니다.


There was an unexpected error (type=Internal Server Error, status=500).

Update/delete queries cannot be typed; nested exception is java.lang.IllegalArgumentException: Update/delete queries cannot be typed

org.springframework.dao.InvalidDataAccessApiUsageException: Update/delete queries cannot be typed; nested exception is java.lang.IllegalArgumentException: Update/delete queries cannot be typed


Caused by: java.lang.IllegalArgumentException: Update/delete queries cannot be typed


다른 함수들은 다 작동되고 있는거라서, 어노테이션 문제는 아닌거 같고, 쿼리문이 문제 같은데, 잘 모르겠네요.
도움 주시면 감사하겠습니다!!

0
  • 답변 2

  • kenu
    64k
    2022-05-27 00:59:13
    delete from Answer i where i.id = : id

    ->

    delete from Answer i where i.id = :id
  • HJOW
    7k
    2022-05-27 09:03:26

    두눈으로만 보면 차이가 안보이기는 하겠네요.

    콜론(:) 하고 id 사이에 있는 공백을 제거하세요.

  • 로그인을 하시면 답변을 등록할 수 있습니다.