2017-02-08 13 views
0

저는 Spring JdbcTemplates를 사용하여 mysql-connector-j 라이브러리를 통해 임의의 수의 MySQL/MariaDB 인스턴스를 관리하는 도구를 빌드하고 있습니다. 주어진 데이터 소스에서 실행되는 명령문을 가끔 readOnly 할 수 있어야합니다. 차라리 Spring JdbcTemplate 콜백을 통해 Connection.setReadOnly()를 호출하거나 모든 문장을 readOnly해야하기 때문에 @Transactional 주석을 사용하여 호출하는 방법이 있습니다. 최악의 경우, 작업을 완료 할 수있는 래퍼 DataSource 클래스를 만들 수 있지만 다른 사람들이 코드 이외의 필요를 어떻게 지원하는지 알고 싶었습니다.Spring JdbcTemplate을 사용할 때 Connection.setReadOnly()를 호출합니다.

답변

0

제공된 연결에서 JdbcTemplate::execute(ConnectionCallback<T> action)setReadOnly을 사용하십시오.

+0

답장을 보내 주셔서 감사합니다! DataSource 및 JdbcTemplate을 빌드하자 마자 바로이 메서드를 호출하고 Connection을 읽기 전용으로 표시하여 이후의 모든 쿼리/삽입/업데이트/실행을 읽기 전용으로 설정 하자는 아이디어가 있습니까? – user771555

+0

아쉽게도, 콜백 내에서 JDBC를 사용하여 연결을 사용하여 JDBC를 실행해야합니다. –