Modul Spring Data Spanner membantu Anda menggunakan Spanner di aplikasi Java apa pun yang dibuat dengan Spring Framework.
Seperti semua modul Spring Data, Spring Data Spanner menyediakan model pemrograman berbasis Spring yang mempertahankan jaminan konsistensi dan skalabilitas Spanner. Fiturnya mirip dengan Spring Data JPA dan Hibernate ORM, dengan anotasi yang dirancang untuk Spanner. Untuk informasi selengkapnya tentang cara menggunakan Spring Data JPA dengan Spanner, lihat Mengintegrasikan Spanner dengan Spring Data JPA (dialek GoogleSQL).
Jika Anda sudah terbiasa dengan Spring, Spring Data Spanner dapat memudahkan penggunaan Spanner di aplikasi dan mengurangi jumlah kode yang perlu Anda tulis.
Halaman ini menjelaskan cara menambahkan Spring Data Spanner ke aplikasi Java. Untuk informasi selengkapnya tentang modul, lihat referensi Spring Data Spanner.
Menginstal modul
Jika Anda menggunakan Maven, tambahkan Bill of Materials (BOM)
Spring Cloud GCP
dan Spring Data Spanner ke file pom.xml
Anda. Dependensi ini
menyediakan komponen Spring Data Spanner ke Spring
ApplicationContext
:
Anda juga harus membuat akun layanan dan menggunakan kunci akun layanan untuk melakukan autentikasi dengan Google Cloud.
Untuk mengetahui informasi selengkapnya, lihat petunjuk untuk menyiapkan lingkungan pengembangan Java. Anda tidak perlu menginstal Library Klien Google Cloud untuk Java; starter Spring Boot akan menginstal library klien secara otomatis.
Mengonfigurasi modul
Bagian ini menjelaskan beberapa setelan konfigurasi yang paling umum digunakan untuk Spring Data Spanner. Untuk mengetahui daftar lengkap setelan, lihat dokumentasi referensi.
Menentukan instance dan database
Untuk menentukan instance dan database default, tetapkan properti konfigurasi berikut untuk aplikasi Anda:
Properti | Deskripsi |
---|---|
spring.cloud.gcp.spanner.project-id |
Opsional. ID Project Google Cloud. Mengganti nilai spring.cloud.gcp.config.project-id . |
spring.cloud.gcp.spanner.instance-id |
ID instance Spanner. |
spring.cloud.gcp.spanner.database |
Database yang akan dihubungkan. |
Data Spanner Model
Dengan Spring Data Spanner, Anda dapat menggunakan objek Java lama (POJO) biasa untuk membuat model data yang disimpan di tabel Spanner.
Untuk setiap tabel dalam database, deklarasikan entity yang merepresentasikan record dalam tabel tersebut. Gunakan anotasi untuk memetakan entity dan propertinya ke tabel dan kolomnya.
Anda dapat menggunakan anotasi berikut untuk membuat model hubungan sederhana antara entity dan tabel:
Anotasi entity | |
---|---|
@Column(name = "columnName")
|
Opsional. Memetakan properti ke kolom tertentu dalam tabel Spanner, yang menggantikan strategi penamaan yang otomatis memetakan nama.
Jika Anda menghapus properti ini, strategi penamaan default untuk
Spring Data Spanner akan memetakan nama properti |
@Embedded |
Menunjukkan bahwa properti adalah objek tersemat yang dapat menyimpan
komponen kunci utama. Jika properti benar-benar digunakan dalam kunci utama, Anda juga harus menyertakan anotasi |
|
Menunjukkan bahwa properti berisi daftar baris yang disisipkan dengan baris saat ini.
Secara default, Spring Data Spanner mengambil baris sisipan pada saat pembuatan instance. Untuk mengambil baris dengan lambat, saat Anda mengakses
properti, gunakan
Contoh: Jika entity |
@NotMapped |
Menunjukkan bahwa properti tidak disimpan di database dan harus diabaikan. |
|
Menunjukkan bahwa properti adalah komponen kunci utama, dan mengidentifikasi posisi properti dalam kunci utama, mulai dari 1. Default
Contoh: |
@Table(name = "TABLE_NAME") |
Tabel yang dimodelkan oleh entity. Setiap instance entity
mewakili data dalam tabel. Ganti
Contoh: |
Jika Anda perlu membuat model hubungan yang lebih kompleks, lihat referensi Spring Data Spanner untuk detail tentang anotasi lain yang didukung modul.
Contoh berikut menunjukkan satu cara untuk membuat model tabel Singers
dan Albums
untuk Spring Data Spanner:
- Untuk entity
Singer
, contohnya menyertakan propertialbums
, dengan anotasi@Interleaved
. Properti ini berisi daftar album yang disisipkan dengan entitySinger
. Spring Data Spanner mengisi properti ini secara otomatis. - Untuk entity
Album
, contohnya menyertakan propertirelatedAlbums
yang tidak disimpan di Spanner.
Membuat kueri dan mengubah data
Untuk membuat kueri dan mengubah data dengan Spring Data Spanner, Anda dapat memperoleh
bean SpannerTemplate
, yang mengimplementasikan
SpannerOperations
. SpannerTemplate
menyediakan metode untuk menjalankan kueri SQL dan mengubah data dengan pernyataan Bahasa Manipulasi Data (DML). Anda juga dapat menggunakan
bean ini untuk mengakses read API dan mutation
API untuk Spanner.
Selain itu, Anda dapat memperluas
antarmuka SpannerRepository
untuk mencakup
semua logika aplikasi yang membuat kueri dan mengubah data di Spanner.
Bagian berikut menjelaskan cara menggunakan SpannerTemplate
dan
SpannerRepository
.
Mendapatkan kacang template
Gunakan anotasi @Autowired
untuk mendapatkan bean SpannerTemplate
secara otomatis. Kemudian, Anda dapat menggunakan SpannerTemplate
di seluruh kelas.
Contoh berikut menunjukkan class yang memperoleh dan menggunakan biji:
Anda dapat menggunakan bean SpannerTemplate
untuk menjalankan transaksi
hanya baca dan transaksi
baca-tulis. Selain itu, Anda dapat menggunakan
anotasi @Transactional
untuk membuat transaksi
deklaratif.
Mendapatkan bean repositori
Jika menggunakan SpannerRepository
, Anda dapat menggunakan anotasi @Autowired
untuk
mendapatkan bean yang mengimplementasikan antarmuka repositori Anda. Repositori mencakup metode untuk menjalankan fungsi Java sebagai transaksi hanya baca dan transaksi baca-tulis. Untuk operasi tingkat yang lebih rendah, Anda bisa mendapatkan kacang template yang digunakan repositori.
Contoh berikut menunjukkan antarmuka untuk repositori dan class yang mendapatkan dan menggunakan bean:
Mengelola Spanner
Untuk mendapatkan informasi tentang database Spanner, perbarui skema dengan
pernyataan Data Definition Language (DDL), atau selesaikan tugas administratif
lainnya, Anda dapat memperoleh
kaca
SpannerDatabaseAdminTemplate
.
Menggunakan anotasi @Autowired
untuk mendapatkan biji secara otomatis. Selanjutnya, Anda dapat
menggunakan SpannerDatabaseAdminTemplate
di seluruh kelas.
Contoh berikut menunjukkan class yang memperoleh dan menggunakan biji:
Langkah selanjutnya
- Mulai menggunakan Spring Cloud GCP.
- Pelajari lebih lanjut cara menggunakan Spring Data Spanner di aplikasi.
- Laporkan masalah GitHub untuk melaporkan bug atau mengajukan pertanyaan tentang modul.
- Dapatkan informasi selengkapnya tentang dukungan Spring Framework di Google Cloud.
- Coba codelab untuk men-deploy dan menjalankan aplikasi yang menggunakan Spring Cloud GCP.