JPA 어노테이션

Psj·2021년 10월 23일
0

@Entity : 해당 클래스가 Entity(JPA에서 테이블을 자동으로 생성해주는 기능을 가짐)임을 명시

@Table : 실제 DB테이블의 이름을 명시, 하지만 @Entity 어노테이션만 명시해주고 class명과 테이블명이 대소문자관계없이 일치한다면 굳이 @Table어노테이션을 사용하지않아도된다.

@Id : index primary key를 명시

@Column : 실제 DB Column의 이름을 명시
(자바에서 변수명과 테이블의 컬럼명이 일치하면 굳이 선언해주지 않아도된다.

자바에서 camelCase로 작성하고 테이블에서 snake_case로 작성해도 JPA가 알아서 매칭을 해주기때문에 다르게 작성해도 상관없다.)

@GeneratedValue : Primary key 식별키의 전략 설정
예) @GeneratedValue(strategy = GenerationType.IDENTITY)

@GenneratdeValue는 무언가를 자동생성하는 어노테이션이고 (strategy = GenerationType.IDENTITY)는 MYSQL에서의 auto_increment기능이다.

@Repository :
따로 쿼리문을 작성하지않아도 기본적인 인터페이스를통해서 Create,Read,Update,Delete 를 사용하게 해준다.

@Repository
public interface UserRepository extends JpaRepository<User,Long>{
}

이런식으로 JpaRePository를 상속받아 사용한다

profile
Software Developer

0개의 댓글