데이터의 CRUD 과정과 SQL 쿼리를 정리해보겠다.
로깅 설정은 application.properties에서 해준다.
# application.properties
#디버그 레벨로 쿼리 출력
logging.level.org.hibernate.SQL=DEBUG
#이쁘게 출력시키기 위해..
spring.jpa.properties.hibernate.format_sql=true
#파라미터 보여주기
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
CRUD동작으로 인한 SQL쿼리를 로그에서 확인할 수 있다.
h2 console에 접속할때 JDBC URL이 매번 바뀌는데 고정시켜주면 편리하다.
# application.properties
#유니크 URL 설정을 꺼준다.
spring.datasource.generate-unique-name=false
#고정 url 설정
spring.datasource.url=jdbc:h2:mem:testdb
위에 사진처럼 실행이 성공했는데 로컬호스트 h2 콘솔에 들어가니 변경이 되지 않는 오류가 생겼었다. 근데 그냥 내가 바꾸면 다음 실행부터 제대로 testdb로 뜬다.
strategy =GenerationType.IDENTITY
DB가 알아서 id를 자동 생성하고 관리해준다.
//Article.java
//id에 strategy를 추가해준다.
.
.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
프로그램을 실행하면 아래 사진처럼 article table이 바로 생성되는데,
@Entity 어노테이션 때문에 Article을 객체로 인식하고 해당 테이블을 DB에 만드는 것이다.
또한 @Column을 인식해서 테이블을 완성한다.