- 질문 게시판입니다.
Date 16/09/07 15:39:14
Name   YORDLE ONE
Subject   JPA와 Mariadb관련 질문입니다.. 뻘쭘 (해결했습니다)
안녕하세요.. 웹개발자하면서 이번에 jpa 환경에서 처음 일을 하게 될 것 같아서
간단한 프로그램 하나를 jpa +mariadb + spring boot 환경으로 만들어보고 있는데요..

현재 제가 삽질중인 상황이 좀 어이없어서 여쭤보고자 질문올립니다.

일단 쿼리를 하나 예시로 보겠습니다.

1번 쿼리 =
insert into code_table (columnA, columnB) values ('A', 'B') // 안됨

2번 쿼리 =
insert into `code_table` (`columnA`, `columnB`) values ('A', 'B') // 됨

차이를 아시겠나요. 테이블과 컬럼명에 ` 가 붙어있어야 쿼리가 정상 동작을 합니다. -_-;

근데 문제는 말이죠.... JPA에서 자동으로 쿼리를 생성해줄때 컬럼명을 도메인에서 고스란히 가져다가 쓰는데요.


@Entity
public class CodeTable {

@Id
private String columnA;
private String columnB;
}

이상태의 도메인에서 소스를 돌리면, 1번 쿼리처럼 쿼리가 생성되서 execute됩니다. 그리고 예외가 발생하죠.
그래서 이렇게 해봤습니다.


@Entity
@Table(name="`code_table`")
public class CodeTable {

@Id
@Column(name = "`columnA`")
private String columnA;

@Column(name = "`columnB`")
private String columnB;
}

뭐가 바뀌었는지 보이실까요. @Table과 Column 어노테이션을 추가해서 컬럼명을 맞춰주었는데, 저기에다가 ` 를 붙여놓았습니다.
저렇게 하고 소스를 돌리면 정상적으로 execute가 되고, commit까지 완료되면서 해피엔딩을 맞이할 수 있게 되죠.
그런데.. 제가 구글링하면서 대충 찾아본 다른 개발자 블로거분들 도메인 예제를 보면, 저런 어노테이션을 붙이지도 않을 뿐더러, 만약 붙였더라도 `를 붙이진 않았거든요.

그래서 문득 생각이 든게 `를 필수로 받아들이는 마리아디비쪽이 나쁜거 아닌가?..
마리아디비 설정을 내가 이상하게 했나?? 라는 생각이 들더군요.

그래서 드디어 질문입니다만

마리아디비에서 insert 등의 쿼리를 칠 때, `와 같은 특수문자로 컬럼명 테이블명 등을 랩핑하지 않아도 되는 설정법을 혹시 아시는 분이 계신지.. 가르침을 주세요..
혹은 위와 같은 상황을 단순히 피할 수 있는 노하우를 아시는 고수분들.. 가르침을 주십시오 흑흑..
물론 `로 랩핑해서 코딩하면 기능이야 잘 돌겠지만.. 아무리봐도 이거 이상하잖아요 으아아아

이상한 질문 읽어주셔서 감사합니다..


+ 해결

아.. 문제 해결 했습니다. 제가 예시 테이블을 컬럼이 쓸데없이 많은걸로 테스트를 하고 있었는데요.
그중에 예약어가 하나 들어있었던 모양이에요... 컬럼 이름은 order였습니다.
order를 다른 이름으로 바꿔주니 정상적으로 잘 실행이 됩니다.
위에는 예시를 위해 columnA, B로 바꿔서 썼었는데.. 결과적으로는 말도안되는 질문이 되어버렸네요

잠깐이라도 읽으셨던 분들께 혼란을 드려서 죄송해요 -_-;



0


목록
번호 제목 이름 날짜 조회 추천
공지 질문 게시판 이용 규정 11 토비 15/06/19 27476 4
17305 IT/컴퓨터데스크탑 PC 판매 적정가격 / 판매 방법 2 Bettersuweet 26/04/05 325 0
17304 여행부산락페스티벌 숙소 추천 부탁드립니다 13 늘쩡 26/04/03 421 0
17303 의료/건강양압기를 사용해보고싶습니다. 12 똘빼 26/04/03 644 0
17302 IT/컴퓨터숫자를 입력하면 읽어주는 PC 프로그램이 필요합니다 52 *alchemist* 26/04/02 888 0
17301 여행2주 동안 부산 갑니다. 42 mime 26/04/02 597 0
17300 경제청약통장 질문입니다 3 헬리제의우울 26/04/01 325 0
17298 기타안전거래 오류에 대해서. 8 야얌 26/03/31 436 0
17297 기타타이어 사이드월 손상 교체해야 하나요? 8 방사능홍차 26/03/31 483 0
17296 의료/건강배탈이 잘 나고 장이 안좋은 사람이 먹기 좋은 건강식품이 뭐가 있을까요?? 34 Broccoli 26/03/30 762 0
17295 경제중고차 둘 중 어떤 게 나을까요? 8 wwe13kane 26/03/30 497 0
17294 여행여행 경로상 밥 먹을곳 추천드립니다.(해결) 6 Omnic 26/03/28 478 0
17293 기타아이폰8p, 15pro, 갤럭시S25 중 2대를 남긴다면 무엇을 버리시겠습니까? 6 여행자 26/03/27 529 0
17291 IT/컴퓨터회사에서 개발 분야에 ai 어케 사용하십니까 7 2026 26/03/26 640 1
17290 의료/건강원룸에만 들어오면 속이 너무 안좋습니다. 8 활활태워라 26/03/26 787 0
17289 기타글라스루프 차량 진한 선팅vs물리 차단막 추천 15 다람쥐 26/03/26 488 0
17288 체육/스포츠등산용품 추천 요청드립니다. 12 나루 26/03/25 384 0
17287 여행대구 놀러갑니다 37 Cascade 26/03/25 818 1
17285 IT/컴퓨터직장인들을 위한 무료 업무 도구 (퇴직금 계산기, 견적서 생성기 등) 웹서비스 만들어왔습니다 ! 2 sharony 26/03/23 810 2
17284 법률HUG 나 SGI 보증보험에 관한 질문입니다. 1 루루얍 26/03/23 488 0
17283 체육/스포츠달리기 물집 23 kaestro 26/03/22 681 0
17282 가정/육아형제끼리 너무 성격이 안 맞아서요 14 [익명] 26/03/22 1176 0
17281 여행청주 맛집 추천 받습니다. 4 맥주만땅 26/03/20 492 0
17280 IT/컴퓨터국내 obsidian 커뮤니티가 어디가 있을까요? 3 스톤위키 26/03/20 712 0
17279 IT/컴퓨터크롬 브라우저의 '인터넷 사용 기록 삭제' 옵션? 1 달씨 26/03/19 522 0
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글