반응형
스프링부트 JPA 에서 Entity에 해당하는 파일에
@Entity
@Table
어노테이션을 사용할 수 있는데
일단 @Entity는 필수로 들어가야 하고
@Entity만 사용했을 경우 DB와 연결 시
테이블명은 클래스명과 동일하게 설정된다
즉 @Entity 어노테이션을 사용한 상태에서
클래스명이 CrudEntity일 경우
DB에서 CrudEntity 테이블로 연결된다는 거다
@Entity(name = "엔티티명")
으로 테이블명을 지정해 줄 경우에는
이후 EntityManager 등을 이용해 쿼리를 사용할 경우
createQuery("select .. from 엔티티명")
이렇게 사용할 수 있게 된다
반면 @Table의 경우에는
외부에서 호출하는 용도가 아닌
실제 DB에 붙을 테이블명 어노테이션을 말하는데
@Entity와 조합을 해서 사용해보면
위 이미지와 같이
@Entity
@Table(name = "테이블명")
이렇게 지정을 해 놓을 경우
createQuery(select m from 엔티티클래스명)
으로 호출을 해 주면
호출은 엔티티클래스명으로 하지만
실제 DB에는 테이블명의 테이블로 붙게 된다
반응형
'Spring Framework > JPA' 카테고리의 다른 글
스프링부트 JPA persistence.xml MySQL 연결 시 샘플 파일 (0) | 2021.11.25 |
---|---|
스프링부트 JPA .getResultList() 사용 시 List로만 반환할 경우 해결방법 (0) | 2021.11.24 |
스프링부트 JPA CRUD 사용방법 정리(MySQL, Gradle) (3) | 2021.11.05 |
스프링부트 JPA 쿼리 파라미터 콘솔에서 확인방법 (0) | 2021.11.04 |
스프링부트 JPA MySQL 연결방법 정리(Gradle) (0) | 2021.11.04 |
댓글