[SPRING] 이 최대 절전 모드 템플릿 bulkUpdate가 작동하지 않는 이유
SPRING이 최대 절전 모드 템플릿 bulkUpdate가 작동하지 않는 이유
Oracle 10g, Hibernate 3.4
이 업데이트 (긴 user.userId 값을 기반으로 함)가 올바르게 수행되었습니다.
getHibernateTemplate().bulkUpdate("update Address address set address.preferred = 1 where address.user.userId = ?", 1l);
이 하나 (String user.language 값을 기반으로 함)는 예외를 발생시킵니다. ORA-00971 : SET 키워드 누락 :
getHibernateTemplate().bulkUpdate("update Address address set address.preferred = 1 where address.user.language = ?", "en");
왜 그런지 압니까?
해결법
-
==============================
1.Hibernate 문서는 말한다 :
Hibernate 문서는 말한다 :
따라서 암시 적 조인을 동등한 하위 쿼리로 대체해야합니다.
getHibernateTemplate().bulkUpdate( "update Address address set address.preferred = 1 " + "where address.user in (select u from User u where u.language = ?)", "en");
from https://stackoverflow.com/questions/5368522/why-this-hibernate-template-bulkupdate-doesnt-work by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 데이터 레스트 (SDR) 버그? 영속 엔티티 null 일 필요는 없습니다. (0) | 2019.02.24 |
---|---|
[SPRING] 석영 관련 코드를 삭제 한 후에도 Tomcat 서버의 메모리 누수 오류 (0) | 2019.02.24 |
[SPRING] Spring에서 일반적인 인터페이스를 구현하는 모든 bean 가져 오기 (0) | 2019.02.23 |
[SPRING] Spring을 사용한 정확한 요청 매핑 (0) | 2019.02.23 |
[SPRING] 컨트롤러에서 JAXB 및 Spring @ResponseBody를 사용하여 올바른 사이트 맵 네임 스페이스를 생성하는 방법은 무엇입니까? (0) | 2019.02.23 |