일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 한글깨짐
- While문
- 아오
- rufus
- 핫모듈
- for문
- marquee
- 깃
- 반복문
- CentOS
- 로그
- 운영체제
- 백틱
- Linux
- Linked List
- 부팅디스크
- 연결리스트
- 인공지능
- 잠시만조용히
- GIT
- 인텔리제이
- gitbash
- 자바
- 안드로이드 빌드 안될때
- AI
- Vue
- MUI
- Intellij
- CentOS7
- 안드로이드 빌드 안됨
- Today
- Total
새끼 개발자의 Life is egg
[JPA] DB 컬럼 타입이 지 혼자 바뀌었네...? (ddl-auto) 본문
최근 토이프로젝트의 어드민 페이지를 만들고 있는데 안해본걸 써봐야겠다 싶어 코프링에 JPA를 얹어보았다.
아니~ JPA가 그렇게~~ 편하다잖어~~~~~~~~~~~
코틀린도 처음이고 JPA도 기본 세팅만 해봤지 사용은 처음이었는데...
JPA는 뭔가 엄청 편하면서도 엄청 불편한 그런 느낌이 있었다. 아니 있다. MyBatis로 갈아타고싶다.
조금 손이 더 가더라도 그게 나을지도..............................
코틀린은 자바와 타입스크립트가 묘하게 섞인 느낌을 받았다.
익숙해지면 나쁘지 않을듯?
어쨌든 한창 작업하다가 확인차 기능을 실행했는데
'지정된 이름 및 인자 자료형과 일치하는 함수가 없습니다. 명시적 형변환자를 추가해야 할 수도 있습니다.'
ㅇ? 갑자기?
DB를 보니 timestamp 타입의 컬럼들이 전부 varchar 로 변경되어있었다.
흠...? ??
내.. 컬럼... 타입이... 뭐였더라...??? 엊그제 마신 술이 아직 안깼나?
아니... JPA가 엔티티를 변경하면 업데이트 쳐주는건 알겠는데... 설마 엔티티 필드 타입들까지 수정해버리냐고?
그렇다... 나는 객체를 만들때 timestamp 형식의 필드는 그냥 String 으로 적어두었었다.
DML까지는 오 신기해 했는데 DDL 까지 휘리릭 처리하는 JPA에게 난 놀라움을 감출 수 없었다.
누가 맘대로 바꾸래!
application.properties 파일을 살펴보니 내가 JPA 설정을 그렇게 해놨네
spring.jpa.hibernate.ddl-auto=update
기강이 헤이해졌구나
ddl-auto 는 5가지 속성을 지원한다
create: 기존 테이블 삭제 후 다시 생성... 오우
create-drop: create 속성 + 서버 내리면 테이블 삭제... 와우
update: 변경부분만 반영
validate: 엔티티와 테이블이 잘 매핑되었는지만 확인 < 요걸로 해야겠다
none: 아무것도 안함
아니 너무 편한 거 아닙니까?
JPA를 사용하려는 뉴비 여러분 이것좀 보십시오 아주 조심하시기 바랍니다.
create나 create-drop으로 해놓고 배포하는 상상을 해보시오
이제 나는 다시 고민에 빠진다
ddl-auto를 끄고 말것인지
mybatis로 갈아탈것인지................
'개발's egg > Java' 카테고리의 다른 글
서버 프로젝트 외부 경로 접근 (이미지 미리보기) (0) | 2023.04.29 |
---|---|
mybatis result Map 카멜케이스로 바꾸기 (0) | 2023.04.09 |
ObjectMapper 에러 (0) | 2023.03.01 |
스프링부트 mybatis bean 생성 못할때 (0) | 2023.02.28 |
[Java] 반복문 - for, while, do-while (0) | 2019.01.12 |