티스토리 뷰
급작스러운 로직 변경으로 인해 업데이트문을 새롭게 추가해야만 하는 상황이 되었다.
나름 열심히 머리로 코딩했다. - 천재?-_-;
그리고 그대로 옮겨서 했는데..
이론대로라면 완벽한데, 아래와 같은 익셉션 발생!!
============================================================================================
com.ibatis.sqlmap.client.SqlMapException: There is no statement named updateLastModifiedDate in this SqlMap.
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:231)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:448)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:90)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.update(SqlMapClientImpl.java:66)
at com.twotrack.condor.geofence.batch.GeofenceAlertDAO.updateLastModifiedDate(GeofenceAlertDAO.java:36)
at com.twotrack.condor.geofence.batch.GeofenceAlertProcessor.updateLastModifiedDate(GeofenceAlertProcessor.java:78)
at com.twotrack.condor.geofence.batch.GeofenceAlertDaemon.runDaemon(GeofenceAlertDaemon.java:277)
at com.twotrack.condor.geofence.batch.GeofenceAlertDaemon.run(GeofenceAlertDaemon.java:198)
at com.twotrack.condor.geofence.batch.GeofenceAlertDaemon.main(GeofenceAlertDaemon.java:366)
===========================================================================================
보면 updateLastModifedDate가 SqlMap에 없다고 나오는데,
일부러 직접 이름을 복사하여 박은 이름인데 없을리가 없었다.
아래는 그 sqlmap.
<sqlMap namespace="GeofenceAlert">
...
<update id="updateLastModifiedDate" parameterClass="com.twotrack.condor.geofence.batch.GeofenceAlertDTO">
UPDATE
TB_GEOFENCE_ALERT
SET
LASTMODIFIED_DT = #m_dtLastModifiedDate#
WHERE
GEOFENCE_ALERT_ID = #m_nGeofenceAlertID#
</update>
....
</sqlMap>
그런데 문제는 의외로 간단히 해결되었다.
아래 sql문을 호출하는 곳을 보면, 해당 쿼리문 이름만 적혀있고, 어떤 네이밍 스페이스인지 명확하지 않다.
.....
public void updateLastModifiedDate( SqlMapClient sqlMap, GeofenceAlertDTO geofenceAlertDTO) throws Exception
{
sqlMap.update( "updateLastModifiedDate", geofenceAlertDTO);
}
즉, updateLastModifiedDate 을 GeofenceAlert.updateLastModifiedDate로 변경해주자마자 깔끔히 해결되었다.
나름 열심히 머리로 코딩했다. - 천재?-_-;
그리고 그대로 옮겨서 했는데..
이론대로라면 완벽한데, 아래와 같은 익셉션 발생!!
============================================================================================
com.ibatis.sqlmap.client.SqlMapException: There is no statement named updateLastModifiedDate in this SqlMap.
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:231)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:448)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:90)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.update(SqlMapClientImpl.java:66)
at com.twotrack.condor.geofence.batch.GeofenceAlertDAO.updateLastModifiedDate(GeofenceAlertDAO.java:36)
at com.twotrack.condor.geofence.batch.GeofenceAlertProcessor.updateLastModifiedDate(GeofenceAlertProcessor.java:78)
at com.twotrack.condor.geofence.batch.GeofenceAlertDaemon.runDaemon(GeofenceAlertDaemon.java:277)
at com.twotrack.condor.geofence.batch.GeofenceAlertDaemon.run(GeofenceAlertDaemon.java:198)
at com.twotrack.condor.geofence.batch.GeofenceAlertDaemon.main(GeofenceAlertDaemon.java:366)
===========================================================================================
보면 updateLastModifedDate가 SqlMap에 없다고 나오는데,
일부러 직접 이름을 복사하여 박은 이름인데 없을리가 없었다.
아래는 그 sqlmap.
<sqlMap namespace="GeofenceAlert">
...
<update id="updateLastModifiedDate" parameterClass="com.twotrack.condor.geofence.batch.GeofenceAlertDTO">
UPDATE
TB_GEOFENCE_ALERT
SET
LASTMODIFIED_DT = #m_dtLastModifiedDate#
WHERE
GEOFENCE_ALERT_ID = #m_nGeofenceAlertID#
</update>
....
</sqlMap>
그런데 문제는 의외로 간단히 해결되었다.
아래 sql문을 호출하는 곳을 보면, 해당 쿼리문 이름만 적혀있고, 어떤 네이밍 스페이스인지 명확하지 않다.
.....
public void updateLastModifiedDate( SqlMapClient sqlMap, GeofenceAlertDTO geofenceAlertDTO) throws Exception
{
sqlMap.update( "updateLastModifiedDate", geofenceAlertDTO);
}
즉, updateLastModifiedDate 을 GeofenceAlert.updateLastModifiedDate로 변경해주자마자 깔끔히 해결되었다.
반응형
'Computer > iBatis' 카테고리의 다른 글
[iBatis] 자주 쓰는 태그들. (0) | 2010.06.21 |
---|---|
[iBatis] sqlMapConfig.xml 에러 (2) | 2010.05.07 |
iBatis 초 간편 설정. (0) | 2009.05.14 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 인도
- 사업자등록
- VirtureBox
- MySQL
- 페밀리세일
- 6월 패밀리세일
- java
- 마라탕 #마라상궈 #마라탕재료 #쉽게만드는마라탕 #중딩입맛 #마라탕잡탕
- 한남동세일
- 새희망씨앗
- 리터너블
- 부드러운맛
- UML
- 단체소송
- 안드로이드
- 와코마리아한남동
- eclipse
- 홈택스
- 와코마리아 스웨터
- 와코마리아팸세일
- 해외직구
- 라고스
- 팸세일
- 새희망씨앗 피해자
- 와코마리아
- 패밀리세일
- javascript
- 나이지리아
- 기부사기
- 기부피해
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함