Rumah >Java >javaTutorial >Bagaimana untuk Memilih Lajur Khusus dalam Spring JPA Menggunakan Unjuran?

Bagaimana untuk Memilih Lajur Khusus dalam Spring JPA Menggunakan Unjuran?

Susan Sarandon
Susan Sarandonasal
2024-11-28 22:55:12231semak imbas

How to Select Specific Columns in Spring JPA Using Projections?

Pemilihan Lajur Tersuai dalam JPA Spring

Memilih lajur tertentu daripada jadual dalam Spring JPA membolehkan anda mendapatkan semula data yang anda perlukan sahaja, mengurangkan lebar jalur dan meningkatkan prestasi. Begini cara anda boleh mencapai ini menggunakan Spring Data JPA:

Menggunakan Unjuran

Spring Data JPA menyokong unjuran, yang membolehkan anda membuat antara muka tersuai yang mentakrifkan lajur yang anda mahu untuk mendapatkan semula. Sebagai contoh, untuk contoh pertanyaan yang disebut:

SELECT projectId, projectName FROM projects

anda akan mencipta antara muka:

interface ProjectIdAndName {
    String getId();
    String getName();
}

Kaedah Repositori

Seterusnya, tambah kaedah kepada repositori anda yang mengembalikan unjuran yang diingini:

List<ProjectIdAndName> findAll();

Dengan memanggil kaedah findAll, anda boleh mendapatkan semula senarai objek yang mengandungi hanya sifat id dan nama, tanpa mengambil keseluruhan data baris.

Contoh Penggunaan

Untuk menggunakan ciri ini , suntikan repositori ke dalam perkhidmatan atau pengawal anda dan panggil kaedah findAll seperti biasa:

@Autowired
private ProjectRepository projectRepository;

@GetMapping("/projects")
public List<ProjectIdAndName> getAllProjects() {
    return projectRepository.findAll();
}

Ini akan mengembalikan senarai daripada objek ProjectIdAndName, yang mengandungi lajur yang dipilih untuk setiap projek.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Lajur Khusus dalam Spring JPA Menggunakan Unjuran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn