1. 序章

この短いチュートリアルでは、JPAを使用してSQLテーブル名を設定する方法を学習します。

JPAがデフォルト名を生成する方法と、カスタム名を提供する方法について説明します。

2. デフォルトのテーブル名

JPAのデフォルトのテーブル名の生成は、その実装に固有です。

たとえば、Hibernateでは、デフォルトのテーブル名は、最初の文字が大文字になっているクラスの名前です。 これは、ImplicitNamingStrategyコントラクトによって決定されます。

ただし、PhysicalNamingStrategyインターフェイスを実装することでこの動作を変更できます。

3. @Tableを使用する

カスタムSQLテーブル名を設定する最も簡単な方法は、エンティティに @ javax.persistence.Table で注釈を付け、その名前パラメーターを定義することです。

@Entity
@Table(name = "ARTICLES")
public class Article {
    // ...
}

テーブル名を静的final変数に格納することもできます。

@Entity
@Table(name = Article.TABLE_NAME)
public class Article {
    public static final String TABLE_NAME= "ARTICLES";
    // ...
}

4. JPQLクエリでテーブル名を上書きする

デフォルトでは、JPQLクエリでは、エンティティクラス名を使用します。

select * from Article

ただし、 @javax.persistence.Entityアノテーションでnameパラメーターを定義することで変更できます。

@Entity(name = "MyArticle")

次に、JPQLクエリを次のように変更します。

select * from MyArticle

5. 結論

この記事では、JPAがデフォルトのテーブル名を生成する方法と、JPAを使用してSQLテーブル名を設定する方法を学習しました。

いつものように、すべてのソースコードはGitHub利用できます。