라벨, 공통코드, 자료사전 등의 코드성 테이블이 아닌
테이블의 데이터를 다국어로 관리하는 것에 대해 작업을 진행했다.
이와 관련된 테이블은
- 다국어 메타 테이블
- 다국어 정보 테이블 : 다국어 값을 별도로 관리
- n개의 원래 테이블 이다
원 테이블 CUD 발생시 다국어 테이블에 대해서 MERGE 또는 DELETE 구문을 실행하게 되어있다.
아래 이미지는 관련 구성을 문서로 정리해둔 것인데, 다른 사람들도 이렇게 실제로 쓰고 있을거 같은데
서핑을 해보면 기본적인 AOP 구성밖에 보이지 않았다.
( 실제 코딩에서는 AfterReturning Advice를 사용하고 있다.
원테이블 Insert 시 생성된 특정 컬럼값을 받아내서 다국어 정보테이블서 사용함, 즉 연결고리 )
♣ 사용자정의 Annotation을 통한 AOP 구성
이번 작업을 하면서 Spring, IBATIS 관련 책의 도움을 받았지만, 한편으로는 좋지 않은 점도 있었다.
실제 Reference 에는 있는데, 책에는 없는 것들이 많았다.
AfterReturing Advice 같은 기능이 필요했으나, 책에 없길래 없는줄 알았더니 공식 Reference를 보니 나왔다. ( 책에는 그냥 종류라고 나오고 더 많은 종류가 있다는 얘기는 없어서 딱 그것만 있는줄 알았었다.
책에 있는 내용은 참고만 하고, 상세한 것은 Reference를 봐야겠다는 교훈을 얻었음 )
설계 초기에는 실행되는 쿼리를 캡쳐하고 자동 Converting 하는 기능을 넣었었기 때문에
관련해서 iBatis 소스도 들여다보고 했는데, 해당 기능 안넣고 구현이 가능하여 뺐음.
¶ Spring 개념을 잡는데에 도움이 된 책
¶ 코딩시 참고했던 책, 구체적인 내용은 부족함.