


Bagaimana untuk melaksanakan operasi kemas kini sisipan pukal dalam Hibernate?
Dalam artikel ini, kita akan melihat cara melakukan sisipan/kemas kini pukal dalam Hibernate.
Setiap kali kami melaksanakan pernyataan sql, kami melakukannya dengan membuat panggilan rangkaian ke pangkalan data. Sekarang, jika kita perlu memasukkan 10 entri ke dalam jadual pangkalan data, maka kita perlu membuat 10 panggilan rangkaian. Sebaliknya, kami boleh mengoptimumkan panggilan rangkaian dengan menggunakan pemprosesan kelompok. Pemprosesan kelompok membolehkan kami melaksanakan satu set pernyataan SQL dalam satu panggilan rangkaian.
Untuk memahami dan melaksanakan perkara ini, mari kita tentukan entiti kita −
@Entity public class Parent { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String name; // Getters //Setters }
Untuk mendayakan batching dalam Hibernate, kami perlu menambah harta pada aplikasi kami
properties fail:spring.jpa.properties.hibernate.jdbc.batch_size=3
Kini, kita perlu melaksanakan fungsi berterusan EntityManageruntuk memasukkan data ke dalam pangkalan data
Contoh
@Autowired private EntityManager entityManager; @Test Public void InsertInBatch(){ for (int i = 0; i < 6; i++) { Parent parent = Parent[i]; entityManager.persist(parent); } }
Output
"batch":true, "querySize":1, "batchSize":3, "query":["insert into parent (name, id) values (?, ?)"], "params":[["P1","1"],["P2","2"],["P3","3"]] "batch":true, "querySize":1, "batchSize":3, "query":["insert into parent (name, id) values (?, ?)"], "params":[["P4","4"],["P5","5"],["P6","6"]]
Dari konsol kita dapat melihat bahawa pemasukan ke dalam jadual induk dilakukan dengan saiz kelompok 3.
Apabila entiti berterusan, OutOfMemoryException mungkin berlaku kerana Hibernate menyimpan entiti dalam konteks kegigihan. Oleh itu, untuk tujuan pengoptimuman, kami boleh menggunakan pengurus entiti flush() dan clear() selepas setiap kelompok.
Kemas kini kelompok bermaksud mengemas kini sejumlah besar data dalam satu panggilan rangkaian.
Untuk kemas kini batch, prosesnya adalah sama. Kita perlu menambah dua pernyataan berikut dalam fail sifat aplikasi dan kemudian melaksanakan proses kemas kini.
spring.jpa.properties.hibernate.order_updates=true spring.jpa.properties.hibernate.batch_versioned_data=true
Contoh
Kod untuk mengemas kini data−
@Autowired private EntityManager entityManager; @Test public void UpdateInBatch() { TypedQuery<Parent> query = entityManager.createQuery("SELECT p from Parent p", Parent.class); List<Parent> Parents = query.getResultList(); int i=1; for (Parent parent : Parents) { String s="Parent"+Integer.toString(i); i++; parent.setName(s); } }
Hibernate kini akan menggabungkan penyata ini dalam satu kelompok dan melaksanakannya.
Output
"batch":true, "querySize":1, "batchSize":3, "query":["update parent set name=? where id=?"], "params":[["Parent1","1"],[" Parent2","2"],[" Parent3","3"]] "batch":true, "querySize":1, "batchSize":3, "query":["update parent set name=? where id=?"], "params":[["Parent4","4"],["Parent5","5"],["Parent6","6"]]
Seperti yang anda lihat dari konsol, kemas kini data dalam jadual induk dilakukan dengan saiz kelompok 3.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan operasi kemas kini sisipan pukal dalam Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Tajuk: Langkah dan Langkah Berjaga-jaga untuk Melaksanakan Kemas Kini Berkelompok oleh Oracle Stored Procedures Dalam pangkalan data Oracle, prosedur tersimpan ialah satu set pernyataan SQL yang direka untuk meningkatkan prestasi pangkalan data, menggunakan semula kod dan meningkatkan keselamatan prosedur boleh digunakan untuk mengemas kini data dalam kelompok. Artikel ini akan memperkenalkan cara menggunakan prosedur tersimpan Oracle untuk melaksanakan kemas kini kelompok dan menyediakan contoh kod khusus. Langkah 1: Buat prosedur tersimpan Pertama, kita perlu mencipta prosedur tersimpan untuk melaksanakan operasi kemas kini kelompok. Berikut ialah cara membuat prosedur tersimpan

Mengintegrasikan Hibernate dalam SpringBoot Project Preface Hibernate ialah rangka kerja ORM (Object Relational Mapping) yang popular yang boleh memetakan objek Java ke jadual pangkalan data untuk memudahkan operasi kegigihan. Dalam projek SpringBoot, menyepadukan Hibernate boleh membantu kami melaksanakan operasi pangkalan data dengan lebih mudah Artikel ini akan memperkenalkan cara untuk menyepadukan Hibernate dalam projek SpringBoot dan memberikan contoh yang sepadan. 1.Perkenalkan dependenciesPerkenalkan dependencies berikut dalam fail pom.xml: org.springframework.bootspring-boot-starter-data-jpam

Java ialah bahasa pengaturcaraan berorientasikan objek yang digunakan secara meluas dalam bidang pembangunan perisian. Hibernate ialah rangka kerja kegigihan Java yang popular yang menyediakan cara yang mudah dan cekap untuk mengurus kegigihan objek Java. Walau bagaimanapun, ralat Hibernate sering ditemui semasa proses pembangunan, dan ralat ini boleh menyebabkan atur cara ditamatkan secara tidak normal atau menjadi tidak stabil. Cara mengendalikan dan mengelakkan ralat Hibernate telah menjadi kemahiran yang mesti dikuasai oleh pembangun Java. Artikel ini akan memperkenalkan beberapa Hib biasa

Hibernate satu-ke-banyak dan banyak-ke-banyak Hibernate ialah rangka kerja ORM yang sangat baik yang memudahkan akses data antara aplikasi Java dan pangkalan data hubungan. Dalam Hibernate, kita boleh menggunakan perhubungan satu-ke-banyak dan banyak-ke-banyak untuk mengendalikan model data yang kompleks. Satu-ke-banyak Hibernate Dalam Hibernate, hubungan satu-dengan-banyak bermakna satu kelas entiti sepadan dengan berbilang kelas entiti lain. Sebagai contoh, pesanan boleh sepadan dengan berbilang item pesanan (OrderItem), dan pengguna (Pengguna) boleh sepadan dengan berbilang pesanan (Pesanan). Untuk melaksanakan perhubungan satu-ke-banyak dalam Hibernate, anda perlu menentukan atribut koleksi dalam kelas entiti untuk disimpan

Perbezaan antara hibernate dan mybatis: 1. Kaedah pelaksanaan 2. Prestasi 3. Perbandingan pengurusan objek; Pengenalan terperinci: 1. Kaedah pelaksanaan, Hibernate ialah penyelesaian pemetaan objek/hubungan yang lengkap yang memetakan objek ke jadual pangkalan data, manakala MyBatis memerlukan pembangun menulis pernyataan SQL dan ResultMap secara manual 2. Prestasi, Hibernate adalah mungkin dari segi kelajuan pembangunan Lebih cepat daripada MyBatis kerana Hibernate memudahkan lapisan DAO dan sebagainya.

Ringkasan soalan lazim tentang mengimport data Excel ke dalam Mysql: Bagaimana untuk menyelesaikan masalah sisipan kelompok besar apabila mengimport data? Mengimport data Excel ke dalam MySQL adalah salah satu tugas yang sering dihadapi dalam pembangunan harian. Untuk mengimport sejumlah kecil data, anda boleh menggunakan alat klien pangkalan data atau baris arahan untuk melaksanakan operasi sisipan. Tetapi apabila berhadapan dengan kumpulan besar import data, operasi sisipan tunggal yang mudah sudah pasti akan menyebabkan masalah prestasi yang serius. Artikel ini akan menerangkan cara menyelesaikan masalah ini dan memberikan contoh kod yang sepadan. Penerangan masalah: Dalam penggunaan sebenar,

Kes permohonan kemas kini kumpulan prosedur tersimpan Oracle dalam pemprosesan data Dalam pemprosesan data sebenar, kita selalunya perlu mengemas kini sejumlah besar data dalam pangkalan data. Pangkalan data Oracle menyediakan fungsi prosedur tersimpan, yang boleh mengendalikan operasi kemas kini data kumpulan besar ini dengan berkesan dan meningkatkan kecekapan dan prestasi pemprosesan data. Dalam artikel ini, kami akan memperkenalkan kes aplikasi kemas kini kelompok prosedur tersimpan Oracle dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan menggunakan fungsi ini dengan lebih baik. Latar Belakang Kes Katakan kita mempunyai a

Hibernate ialah rangka kerja ORM sumber terbuka yang mengikat pemetaan data antara pangkalan data hubungan dan program Java antara satu sama lain, menjadikannya lebih mudah untuk pembangun mengakses data dalam pangkalan data. Menggunakan rangka kerja Hibernate boleh mengurangkan kerja menulis pernyataan SQL dan meningkatkan kecekapan pembangunan dan kebolehgunaan semula aplikasi. Mari perkenalkan rangka kerja Hibernate dari aspek berikut. 1. Kelebihan rangka kerja Hibernate: pemetaan hubungan objek, menyembunyikan butiran akses pangkalan data, membuat pembangunan
