From e682983334c56f68a3b9f1b46429a9edb45bce1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B1=EC=98=81?= Date: Wed, 1 Oct 2025 15:01:48 +0900 Subject: [PATCH] =?UTF-8?q?sql=EC=97=90=EC=84=9C=20=EC=97=AC=EB=9F=AC?= =?UTF-8?q?=EC=A4=84=20=EC=A3=BC=EC=84=9D,=20/*=20=20*/=20=EB=8F=84=20?= =?UTF-8?q?=ED=8F=AC=ED=95=A8=ED=95=98=EC=97=AC=20=EC=B6=9C=EB=A0=A5?= =?UTF-8?q?=EB=90=A0=EC=88=98=20=EC=9E=88=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=ED=95=A8...=20=EB=AC=B8=EC=A0=9C=20=EC=9E=88=EC=9D=84?= =?UTF-8?q?=EC=8B=9C=20=EB=B0=94=EB=A1=9C=20=EC=9D=B4=EC=A0=84=EB=B2=84?= =?UTF-8?q?=EC=A0=84=EC=9C=BC=EB=A1=9C=20rollback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../egovframework/config/DataSourceProxyConfig.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/egovframework/config/DataSourceProxyConfig.java b/src/main/java/egovframework/config/DataSourceProxyConfig.java index 9ea5c52..a870645 100644 --- a/src/main/java/egovframework/config/DataSourceProxyConfig.java +++ b/src/main/java/egovframework/config/DataSourceProxyConfig.java @@ -22,6 +22,7 @@ import net.ttddyy.dsproxy.listener.logging.SLF4JLogLevel; import net.ttddyy.dsproxy.listener.logging.SLF4JQueryLoggingListener; import net.ttddyy.dsproxy.proxy.ParameterSetOperation; import net.ttddyy.dsproxy.support.ProxyDataSourceBuilder; +import org.apache.ibatis.jdbc.SQL; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -344,14 +345,19 @@ public class DataSourceProxyConfig { } /** - * jsqlparser를 사용하여 SQL을 보기 좋게 포맷팅합니다. - * SELECT 구문은 AST(Abstract Syntax Tree)를 기반으로 재구성하여 복잡한 쿼리의 가독성을 높입니다. - * CASE, JOIN, 서브쿼리 등 복잡한 구문을 효과적으로 처리합니다. + * SQL을 보기 좋게 포맷팅합니다. + * 주석(/ * * /)을 원래 위치에 보존하면서 포맷팅합니다. * * @param sql 포맷팅할 SQL 문자열 * @return 포맷팅된 SQL 문자열 */ private String formatSql(String sql) { + // 주석이 포함된 경우 원본 SQL을 그대로 반환 (주석 위치 보존) + if (sql.contains("/*")) { + return sql; + } + + // 주석이 없는 경우에만 jsqlparser로 포맷팅 try { Statement statement = CCJSqlParserUtil.parse(sql);