http://blog.empas.com/ahnyounghoe/13206758
앞에서처럼 부적절한 데이터 타입으로 인해 변경이 필요하거나 요구사항 변경으로 인해 도메인 객체를 변경해야 할 경우가 생깁니다.

이런 경우 어떤 산출물들을 변경해야 하는지 확인해봅니다.

먼저 테이블 구조가 변경되어야 합니다.

데이터가 들어 있다면 이행(Migration) 작업이 요구되겠죠.
DROP TABLE T_USERINFO IF EXISTS CASCADE;
CREATE TABLE T_USERINFO (
 ID VARCHAR(15),
 CONSTRAINT PK_T_USERINFO PRIMARY KEY (ID)
);
 
앞서 INTEGER 였던 컬럼 타입을 VARCHAR로 변경합니다.
 
DROP TABLE T_USERINFO IF EXISTS CASCADE;
CREATE TABLE T_USERINFO (
 ID INTEGER,
 CONSTRAINT PK_T_USERINFO PRIMARY KEY (ID)
);
 
참조하는 컬럼이 있는 경우 역시 타입을 변경해줘야 하죠.
 
DROP TABLE T_ARTICLE_LINK IF EXISTS CASCADE;
CREATE TABLE T_ARTICLE_LINK (
 ID INTEGER,
 LANG CHAR (2),
 TITLE VARCHAR (100),
 LINK VARCHAR (255),
 REGI_DATE TIMESTAMP,
 DESC VARCHAR (1000),
 USERINFO_REF VARCHAR(15),
 CONSTRAINT PK_T_ARTICLE_LINK PRIMARY KEY (ID),
 CONSTRAINT FK_T_USERINFO FOREIGN KEY (USERINFO_REF) REFERENCES T_USERINFO(ID)
)
 
데이터가 있다면 마찬가지로 데이터를 변환해서 다시 넣어줘야 합니다. 테스트 데이터의 경우 INSERT문의 데이터를 변경해줘야 하겠죠.
 
DB는 (객체를 지원하지 않아) 기초 데이터를 사용하는 탓에 타입 변경이 두 곳에 가해지지만, 자바의 경우는 UserInfo 클래스의 id 속성만 String으로 변경해주면 되죠.


 
변경 사항을 적용한 이후의 화면입니다. 객체를 적절히 활용하면 생각보다 변경할 곳이 많지 않음을 알 수 있습니다.

번호 제목 글쓴이 날짜 조회 수
공지 [작성중/인프런] 스프링부트 시큐리티 & JWT 강의 황제낙엽 2023.12.20 5083
84 @ConfigurationProperties 사용하기 황제낙엽 2025.10.23 1617
83 Spring Boot 에서 서버 로직의 역할별 애노테이션 구분 황제낙엽 2025.10.13 1411
82 (확인전) [2021.03.12] Eclipse에서 Spring Boot로 JSP사용하기(Gradle) file 황제낙엽 2023.12.23 2817
81 Spring Boot PetClinic Sample Application 황제낙엽 2023.12.21 2575
80 Eclipse, Spring Boot, Gradle, SVN 레거시(2019) 시스템 유지보수 환경 구축 file 황제낙엽 2023.11.14 1732
79 [시리즈 강좌] 스프링부트로 웹서비스 구축하기 황제낙엽 2023.07.13 1691
78 Spring Boot에서의 RESTful API 모듈 file 황제낙엽 2020.04.16 1896
77 [POST] Spring MVC 구조 분석 황제낙엽 2024.01.17 2053
76 Spring Framework 에서 사용하는 annotation 황제낙엽 2024.01.17 2093
75 Spring MVC configuration file 황제낙엽 2024.01.17 2041
74 [스프링 시큐리티 OAuth2] 강의 자료와 학습용 소스 file 황제낙엽 2024.01.15 1595
73 OAuth 2.0 Resource Server - Spring Security OAuth2.0 황제낙엽 2023.12.27 2016
72 Spring, JSP, Gradle, Eclipse 환경 구축[2] - 샘플 프로젝트 file 황제낙엽 2023.12.24 1922
71 Spring, JSP, Gradle, Eclipse 환경 구축[1] - 레퍼런스 조사 황제낙엽 2023.12.23 2056
70 spring-security-samples 황제낙엽 2023.12.22 1800
69 [Bard] Spring 과 Spring Boot의 차이 file 황제낙엽 2023.12.21 1803
68 Spring 과 Spring Boot의 차이 file 황제낙엽 2020.05.26 2308
67 Spring Security OAuth2.0 파헤치기 황제낙엽 2019.09.05 2079
66 Spring Security OAuth2구현 file 황제낙엽 2019.09.05 2208
65 Spring Security OAuth 황제낙엽 2019.09.05 2442