본문 바로가기

Programming!

네이밍규치으로 씨름하다....

Spring내의 RowMapper 나 DWR에서 조금 난해한 경우인데요. D atabase Table 대응 소스제네레이터를 만들어서 나온 클래스의 경우 입니다.----

특정 Table의 컬럼명이 X_SCO_OO 의 경우 '_'로 대게 구분해서 변수명을 만들기 때문에 클래스의 속성명은 xScoOo가 됩니다. 여기까지는 문제가 없지만, get/set의 경우는 

.getXScoOo(){}
.setXScoOo(String xScoOo) {}

 이렇게 되는데요. 위의 lib에서 리플렉션으로 메소드를 정의 할때 xScoOo로 인식하지 못하더군요. 가령 DWR로 javascript로 내려줬을때 entity.xScoOo 로 호출하면 오류가 나오고 entity.XScoOo 호출하면 정상적으로 처리됩니다. 원하던건 entity.xScoOo였는데 말이죠..

 가능하면 '_' prefix를 줘야 할경우는 앞자리에 최소 두자리 이상으로 만드는것이 심신이 편할듯 싶더군요.


ps. 물론 별도에 ORM툴을 사용하면 전혀 문제가 없습니다. DWR쪽을 제외하고는요..(아직 테스트중...)
ps. 아시는 분은 아시겠지만 컨벤션자체가 변수명에서는 앞에 첫글짜를 제외합니다.
이클립스에서도 XScoOo 를 친 후, Ctrl+Space를 누르면 scoOo 로 어시스트 됩니다.