일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring mapper
- CrudRepository update
- JAVA Exception 종류
- 도커 로그 확인
- spring JPA DB Connection
- doker logs tail
- @Builder @NoArgsConstructor
- AllArgsConstructor
- Data Annotation
- Transactions Propagation Option
- 도커 logs
- 도커 컨테이너 로그
- Spring
- JPA DB 다중 Connection
- spring DB Connection
- spring mapper annotation
- mapper annotationo
- spring @mapper
- vuecomponent
- repository annotation
- JPA DB Connection 다중
- NoArgsConstructor
- spring repository
- vueslot
- 자바버그수정
- Spring JPA Specification
- Vue
- spring JPA DB multi Connection
- JpaRepository update
- docker 로그
- Today
- Total
개발을 잘하고 싶은 개발자
[Java] 이런 에러를 만났다면? There is no READABLE property named '_____' in class 본문
[Java] 이런 에러를 만났다면? There is no READABLE property named '_____' in class
_소피아 2023. 12. 28. 20:59여느 때처럼 복붙을 열심히 하다
중간중간 빌드해보지 않고
나를 너무 믿은 나머지 에러를 만났다.
에러 로그의 내용은 아래에 첨부했다.
There is no READABLE property named 'meditype' in class
java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'. Cause: com.ibatis.common.beans.ProbeException: There is no READABLE property named '____' in class ____'
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:49)
at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63)
at com.carehealth.db.DAOConfig.getSqlMapClient(DAOConfig.java:40)
1. 기존 쿼리에 줄맞춤도 안되어 있고,
2. 나름 내가 고친 쿼리를 정리하고 싶고,
3. 정확히 알지도 못하는 테이블의 컬럼을
내 맘대로 대소문자 정리를 했다.
이렇게 저 에러를 만났고,
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)
...
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123)
...
at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:40)
...
뜬금없는 Dao와 VO들의 남발인 에러 리포트를 보고 어디서부터 잘못된 건지... 헤매었다.
중간중간 빌드 해볼껄 후회했다.
구글링으로 원인을 찾고, 해결 방법을 알아내 고쳤더니 결과는 성공이었다.
제목의 저 에러를 그대로 번역하면
"AA라는 이름의 읽기 가능한 속성이 없습니다." 라고 하니
1. 우선 쿼리를 살펴봐야 한다.

2. 물론 내가 고친 쿼리만 확인한다. (stash에 넣어서 테스트해 보니 문제없음;)
3. 저 AA 이름을 검색해서 들어가 있는 모든 쿼리를 봤지만 문제가 없었다.
(항상 이런 오만이 제일 큰 문제였다...)
4. 참고한 블로그 글에
2가지 방법이 있었는데, 마지막 방법을 딱 보니 눈이 번쩍였다.
두번째로는 sql질의문을 작성하는데 있어서 대문자를 사용하면 발생한다.
5. 내가 쿼리에 작성한 #AA# 문법에 대소문자를 내 맘대로 바꿔버렸다.
6. 다시 겸손한 마음으로 parameterClass에 Map에서 넘어온 컬럼 aA를 AA로 사용하고 있었다...
버그 수정 끝.
회고
- 자만하지 말자
- 겸손하자
- 중간중간 빌드해보자
'Backend > Java' 카테고리의 다른 글
[Lombok] @Builder와 @NoArgsConstructor 같이 사용하기 (0) | 2021.08.16 |
---|---|
[Java] 널리 재사용되는 예외들 JAVA Exception 종류 (0) | 2021.08.12 |
[Java] 끝판왕 @Data 를 아시나요? (0) | 2021.08.10 |
[Java] @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor 정리 (0) | 2021.08.10 |
[Java] 스트림 Stream (0) | 2021.07.25 |