Memetakan Nama Kelas Entiti ke Nama Jadual SQL dengan JPA

1. Pengenalan

Dalam tutorial ringkas ini, kita akan belajar bagaimana menetapkan nama jadual SQL menggunakan JPA.

Kami akan membahas bagaimana JPA menghasilkan nama lalai dan bagaimana memberikan nama khas.

2. Nama Jadual Lalai

Penjanaan nama jadual lalai JPA adalah khusus untuk pelaksanaannya.

Sebagai contoh, dalam Hibernate nama jadual lalai adalah nama kelas dengan huruf pertama ditulis dengan huruf besar. Ia ditentukan melalui kontrak ImplicitNamingStrategy .

Tetapi kita boleh mengubah tingkah laku ini dengan menerapkan antara muka PhysicalNamingStrategy .

3. Menggunakan @ Jadual

Cara termudah untuk menetapkan nama jadual SQL khusus adalah dengan memberi keterangan pada entiti dengan @ javax.persistence. Jadual dan tentukan parameter namanya:

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

Kita juga boleh menyimpan nama jadual dalam pemboleh ubah akhir statik:

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

4. Menimpa Nama Jadual dalam Pertanyaan JPQL

Secara lalai dalam pertanyaan JPQL, kami menggunakan nama kelas entiti:

select * from Article

Tetapi kita boleh mengubahnya dengan menentukan parameter nama dalam anotasi @ javax.persistence.Entity :

@Entity(name = "MyArticle")

Kemudian kami akan menukar pertanyaan JPQL kami ke:

select * from MyArticle

5. Kesimpulan

Dalam artikel ini, kami telah belajar bagaimana JPA menghasilkan nama jadual lalai dan bagaimana menetapkan nama jadual SQL menggunakan JPA.

Seperti biasa semua kod sumber tersedia di GitHub.