서버 개발 발들이기 8

바람찬허파·2023년 9월 22일
0

JPA

문제점

지금까지 SQL문을 통해 MySQL과 소통하였다.
하지만 문자열 SQL을 사용하는 것은 여러 문제가 있었다.

JPA란

JPA는 데이터를 영구적으로 저장하고자 하는 > java 진영의 규칙 > 객체와 테이블을 연결한다

JPA, Hibernate, Jdbc 간의 관계


JPA는 규칙이기 때문에 > Hibernate가 이를 구현 > JDBC를 사용한다.

JPA 사용하기

@Entity

저장되고, 관리되어야 하는 데이터 > 여기서는 User 클래스

@Id

Id가 테이블에는 있었지만 클래스에는 없으므로 추가 @Id
SQL문에서 사용한 AUTO_INCREMENT > @GeneratedValue(strategy = GenerationType.IDENTITY)

기본 생성자

JPA를 사용하기 위해서는 기본 생성자가 꼭! 필요하다

@Column

객체의 필드와 테이블의 필드 매핑
null이 들어갈 수 있는지, 길이 제한, DB에서의 column 이름 지정의 역할

name varchar(20); 로 만들어진 DB의 테이블 - 클래스의 name 필드를 서로 연결한다.

// @Column(nullable = false, length = 20, name="name")
@Column(nullable = false, length = 20) //같을 경우 생략 가능
private String name;

private Integer age;는 완전히 동일하기 때문에 @Column은 생략 가능

JPA 설정

application.yml

ddl-auto : none
스프링을 시작할 때 매핑이 잘못되었을 때 어떻게 할 것인지 create, update, validate, none

  jpa :
    hibernate :
      ddl-auto : none
    properties:
      hibernate:
        show_sql: true
        format_sql: true
        dialect: org.hibernate.dialect.MySQL8Dialect

해당 글은 자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]을 수강하며 작성한 글입니다.

0개의 댓글