diff --git a/backend-spring/src/main/java/com/erp/service/TableManagementService.java b/backend-spring/src/main/java/com/erp/service/TableManagementService.java index af045a51..138064c6 100644 --- a/backend-spring/src/main/java/com/erp/service/TableManagementService.java +++ b/backend-spring/src/main/java/com/erp/service/TableManagementService.java @@ -10,6 +10,7 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.sql.SQLException; import java.util.*; import java.util.stream.Collectors; @@ -941,6 +942,20 @@ public class TableManagementService extends BaseService { @SuppressWarnings("unchecked") private List parseColumnArray(Object cols) { if (cols instanceof List) return (List) cols; + if (cols instanceof java.sql.Array arr) { + try { + Object raw = arr.getArray(); + if (raw instanceof Object[] arrObj) { + return Arrays.stream(arrObj) + .filter(Objects::nonNull) + .map(Object::toString) + .filter(s -> !s.isBlank()) + .collect(Collectors.toList()); + } + } catch (SQLException e) { + log.warn("parseColumnArray: java.sql.Array decode 실패 — fallback", e); + } + } if (cols instanceof String s) { return Arrays.stream(s.replace("{", "").replace("}", "").split(",")) .filter(c -> !c.isBlank()) diff --git a/frontend/app/(main)/admin/systemMng/tableMngList/page.tsx b/frontend/app/(main)/admin/systemMng/tableMngList/page.tsx index 0167f4db..f3e41f02 100644 --- a/frontend/app/(main)/admin/systemMng/tableMngList/page.tsx +++ b/frontend/app/(main)/admin/systemMng/tableMngList/page.tsx @@ -381,7 +381,7 @@ export default function TableManagementPage() { if (response.data.success) { const data = response.data.data; setConstraints({ - primaryKey: data.primaryKey ?? { name: "", columns: [] }, + primaryKey: data.primary_key ?? { name: "", columns: [] }, indexes: data.indexes ?? [], }); }