구현에 따라 JPA의 기본 테이블 이름은 달라진다. 예를 들어, Hibernate에서는 클래스 이름의 첫글자를 대문자로 변경하여 기본 테이블 이름으로 쓴다. 이는 ImplicitNamingStrategy 계약으로 결정된다.
PhysicalNamingStrategy 인터페이스로 이를 바꿀 수 있다.
@jakarta.persistence.Table 어노테이션과 매개변수를 활용하여 손쉽게 커스텀 SQL 테이블 이름으로 지정할 수 있다.
@Entity
@Table(name = "ARTICLES")
public class Article {
// ...
}
예시) 테이블 이름을 final 변수로 지정하는 방법
@Entity
@Table(name = Article.TABLE_NAME)
public class Article {
public static final String TABLE_NAME= "ARTICLES";
// ...
}
기본 JPQL 에서는 엔터티 클래스 이름을 사용한다.
select * from Article
@jakarta.persistence.Entity 어노테이션의 name 매개변수를 정의하여 변경할 수 있다.
@Entity(name = "MyArticle")
그후 JPQL을 변경한다.
select * from MyArticle