에러들

이클립스 스프링부트 혼자하기7-jpa mysql관련

나이많은 초보 2023. 3. 8. 15:36

 이제는 정보 조회하기 들어간다...

환경설정이 끝나니깐 속도가 조금은 빨라진것 같아서 나만의 만족을 하며 연습한다.

 

1. 처음에 id로  회원정보를 하는데 앞서 테이블도 자동으로 설치되고 문제가 없는데 

자꾸만 NPE가 발생한다.

이상하다 이상하다 생각하다가 내가 만든 db가 RUN ON/OFF 진행시 초기화된다는 것을 발견!!

# DDL(create, alter, drop) 정의시 DB의 고유 기능을 사용할 수 있다.
spring.jpa.hibernate.ddl-auto=create

로 설정한것이 문제였다.......create는 실행시마다 초기화를 시킨다...

update로 수정했더니 문제 없지 조회되었다....베낄땐 조심^^ 블로그 그분은 이렇게 안시켰는데 너무 여러개를 검색하다가 

create가 좋아보여서 수정한것이 문제였다..^^

https://dev-coco.tistory.com/85 요분꺼 잘 정리되어 있습니다^^

 

2. 저장할때 보통 id는 자동생성했다...int값이니깐.....오라클에서는 시퀀스를 사용했는데.....

 myspq과 jpa모두 처음이라 검색도 어설프기만 하다....일단. 검색결과.

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

를 붙여주면 된다고해서 했는데...

 

Hibernate:

insert

into

member_entity

(address, admin_check, email, nick_name, phone, pw)

values

(?, ?, ?, ?, ?, ?)

2023-03-08 14:43:51.013 WARN 15412 --- [nio-8047-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1364, SQLState: HY000

 

java.sql.SQLException: Field 'id' doesn't have a default value

만 나온다...뭐가 문제가 해서 검색했더니....요건 또 금방 찾았다.....나같은 초보들 많은가 부다...심적 안정감.ㅍㅎㅎ 

 AI를 체크후에 Apply를 꼬~~~옥! 눌러준다....자꾸 덜 눌러서 안된다. 2번 일을 한다..^^

생성도 잘되고 값도 전달 되었다...