- 질문 게시판입니다.
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


목록
번호 제목 이름 날짜 조회 추천
1261 기타넷플릭스 작품 추천해주세요. 21 kpark 16/07/05 4034 0
1262 의료/건강물로 코속청소 통증질문입니다. 9 bella luna 16/07/05 5075 0
1263 과학제가 헤드폰을 충동구매 했거든요? 19 세계구조 16/07/06 6384 0
1264 IT/컴퓨터기계식 키보드 질문입니다. 23 Beer Inside 16/07/06 3486 0
1265 IT/컴퓨터기계식 키보드 체리키vs짭체리 어떤가요? 2 전크리넥스만써요 16/07/06 3648 0
1267 의료/건강색안경에 대해 질문 1 전기공학도 16/07/07 3350 0
1268 의료/건강식사시 물에 대한 질문 입니다. 10 NF140416 16/07/07 3258 0
1269 기타화장실 나무문 아랫부분이 썩어들어가는 것 같은데 어디로 연락해야 할까요? 9 David.J 16/07/07 6309 0
1270 게임[하스스톤] 전설카드 제작 질문입니다. 14 모선 16/07/08 3945 0
1271 기타외로워 미칠거같을 땐 어떻게 해야되나요? 22 스스흐 16/07/08 9251 0
1273 의료/건강[약혐] 이게 왜 생기는걸까요? 7 고기써는 개장수 16/07/10 3940 0
1274 기타영등포구청 쪽에 저녁 식사할 곳 추천 좀 해주세요 10 라싸 16/07/10 4557 0
1275 IT/컴퓨터유니티 개발 가능한 벤처나 SI업체나 있을까요? 2 졸려졸려 16/07/11 3764 0
1487 IT/컴퓨터JPA와 Mariadb관련 질문입니다.. 뻘쭘 (해결했습니다) YORDLE ONE 16/09/07 2786 0
1276 의료/건강멜라토닌 수면보조제 질문입니다. 17 torque 16/07/11 5514 0
1277 체육/스포츠헬스장 선택에 고민이 있습니다. (거리 vs 돈) 13 쉬군 16/07/12 3382 0
1278 기타이과일 이름이 뭔가요? 12 jsclub 16/07/12 2726 0
1280 IT/컴퓨터Visual C++ 관련 질문입니다. 2 Dr.Pepper 16/07/12 2783 0
1281 의료/건강별로 아프진 않은데 엑스레이로 보이지 않는 무릎통증 mri 찍어봐야 할까요? 3 거대한다람쥐 16/07/12 3355 0
1284 IT/컴퓨터옛날차종이랑 트림 알면 뭐뭐 들었나 알수있나요 1 아삼 16/07/13 3777 0
1285 기타만일 秦이 통일하지 못하였다면...? 24 조홍 16/07/13 2838 0
1286 과학자전거 바퀴에 공기를 빠방하게 넣으면 왜 더 적은 힘으로 빠르게 움직이나요. 7 기아트윈스 16/07/13 3729 0
1287 문화/예술연예인 팬레터는 보통 어떻게 씁니까? 8 전기공학도 16/07/13 5830 0
1288 진로맥주 골라주세요! 8 OshiN 16/07/14 3590 0
1289 IT/컴퓨터새로 모니터를 교체했는데요 2 피아니시모 16/07/14 2725 0
목록

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

댓글