Terutama merangkum hibernasi dari selusin aspek berikut, termasuk metode pengambilan Hibernate, status objek dalam Hibernate, apa tiga strategi pengambilan hibernat, yang berlaku untuk warisan pemetaan hibernasi, warisan warisan warisan warisan Hibernate, warisan warisan warisan warisan Hibernate warisan warisan Hibernate Hibernate Hibernate wajib hibernate Warisan Warisan Tiga cara hubungan, ringkasan metode Sesi Find () dan perbedaan antara antarmuka kueri, dll. Konten spesifik adalah sebagai berikut:
1 metode pencarian hibernasi
索 Pencarian Diagram Objek Navigasi (sesuai dengan objek yang dimuat, navigasi ke objek lain.)
按 Pencarian OID (mengambil objek sesuai dengan OID objek.)
使用 Pengambilan HQL (menggunakan bahasa kueri HQL yang berorientasi objek.)
使用 Pencarian QBC (menggunakan QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC) (QBC (QBC (QBC (QUREY dengan kristis) Api) Api) (QBC (QUREY dengan kriste) Api) Api) Api) Api (QUREY) dengan kriste) dengan kristis) dengan kristis) dengan kristis) dengan krimitia) dengan kristis) dengan kristis) dengan krimitia) dengan krimitia) dengan krimitia) dengan krimitia) dengan kristis)) ) untuk mengambil objek.
索 Pengambilan SQL Lokal (Pernyataan Kueri SQL Menggunakan Database Lokal.)
Termasuk metode pengambilan Hibernate, keadaan objek dalam Hibernate, apa tiga strategi pengambilan hibernasi, yang kesempatannya berlaku, masalah yang dipecahkan ORM tidak cocok, tiga metode pemetaan hibernasi hubungan warisan, the the the the the Hubungan, Metode Found () Metode Sesi () Sesi dan Ringkasan Perbedaan Perbedaan Antara Antarmuka Kueri
T transient: Baru saja dibuat dengan pernyataan baru, belum bertahan, dan tidak ada dalam cache sesi. Objek Java dalam keadaan sementara disebut benda sementara.
(Persisten: Telah bertahan dan ditambahkan ke cache sesi. Objek Java dalam keadaan persisten disebut objek persisten.
E terpisah: itu telah bertahan tetapi tidak lagi dalam cache sesi. Objek Java dalam keadaan bebas disebut objek bebas.
3 Apa tiga strategi pengambilan hibernasi, dan kesempatan mana yang berlaku untuk kesempatan mana yang berlaku
Ø Pengambilan segera
Keuntungan: sepenuhnya transparan untuk aplikasi.
Kerugian: Pilih pernyataan banyak.
Berlaku: Level Kelas.
Ø Penundaan pengambilan
Keuntungan: Objek apa yang dimuat oleh aplikasi untuk menghindari pelaksanaan pernyataan selektif berlebih dan menghindari objek yang tidak perlu dimuat, menghemat ruang memori dan meningkatkan efisiensi pengambilan.
Kerugian: Jika aplikasi ingin mengakses instance agen dari status defive, harus dipastikan bahwa itu telah diinisialisasi ketika tahan lama.
Aplikasi: satu -untuk -multiple atau lebih terkait. Aplikasi tidak perlu diakses segera atau tidak mengakses sama sekali.
接 Pencarian koneksi kiri dan luar yang mendesak
Keuntungan: Ini sepenuhnya transparan untuk aplikasi. Dengan koneksi eksternal, jumlah pernyataan terpilihnya kecil.
Kerugian: Objek yang mungkin tidak diakses dapat dimuat. Kinerja Pencarian Gambar Koneksi Basis Data Kompleks.
Aplikasi: satu -untuk -satu atau lebih terkait. Aplikasi perlu diakses segera. Sistem basis data memiliki kinerja koneksi tabel yang baik.
4 ORM memecahkan masalah non -cocok (tidak cocok antara model domain dan model hubungan)
向 Model domain berorientasi objek, dan model hubungan terkait.
Model domain memiliki hubungan warisan, dan model hubungan tidak dapat secara langsung mewakili hubungan warisan.
Ada banyak hubungan dalam model domain 多, dan dalam model hubungan, tabel koneksi digunakan untuk mewakili lebih banyak dan lebih banyak hubungan yang terkait.
双 Model domain memiliki hubungan dua arah.
精 Model domain mempromosikan model ukuran partikel halus, dan model hubungan menganjurkan model ukuran kasar.
5 pemetaan hibernasi dalam 3 cara hubungan warisan
系 Seluruh sistem warisan menggunakan tabel (hierarki meja)
张 Setiap subclass memiliki tabel, disimpan atribut unik dari subkelas (Subkelas Tableper)
张 Setiap kelas spesifik (subklass serikat), disimpan sebagai tabel informasi lengkap (tabel per beton)
Metode 6 Sesi Find () dan perbedaan antara antarmuka kueri
Metode find () dari kelas sesi dan antarmuka kueri mendukung metode pengambilan HQL. Perbedaan antara keduanya adalah bahwa yang pertama hanya menjalankan beberapa metode yang nyaman untuk pernyataan kueri HQL sederhana Antarmuka kueri adalah satu antarmuka kueri.
7 Konfigurasi Asosiasi Hibernate
Satu -satu -satu
Ø Ø Ø Ø Ø
Ø Ø Ø Ø Ø
8 Jelaskan secara singkat karakteristik sesi
, Bukan utas yang aman, jadi saat merancang arsitektur perangkat lunak, banyak utas harus dihindari untuk berbagi instance sesi yang sama.
实 Contoh sesi ringan. Ini berarti bahwa objek sesi dapat dibuat atau dihancurkan secara teratur dalam program, seperti untuk mengalokasikan contoh sesi terpisah untuk setiap pelanggan, atau untuk mengalokasikan contoh sesi individual untuk setiap unit yang berfungsi.
Pada sesi, setiap operasi basis data dilakukan dalam transaksi, sehingga Anda dapat memisahkan operasi yang berbeda (bahkan hanya membaca).
9 Hibernate menggunakan file XML untuk mengonfigurasi objek-keunggulan pemetaan hubungan
Hibernasi tidak ada yang menembus ke dalam model domain atas atau menembus ke dalam model data yang lebih rendah. Pengembang perangkat lunak dapat secara mandiri merancang model domain tanpa paksa untuk mematuhi spesifikasi apa pun. Desainer basis data dapat secara mandiri merancang model data tanpa kekuatan untuk mematuhi spesifikasi apa pun. Pemetaan Relationship tidak tergantung pada kode program apa pun. pemeliharaan lebih nyaman.
10 Fungsi cache sesi
库 Kurangi frekuensi akses ke database. Kecepatan aplikasi dari memori dari memori jelas lebih cepat daripada kecepatan menanyakan data dalam database, sehingga cache sesi dapat meningkatkan kinerja akses data.
对 Ini menjamin bahwa objek dalam cache disinkronkan dengan catatan yang relevan dalam database. Ketika keadaan objek persisten dalam perubahan cache, sesi tidak segera menjalankan pernyataan SQL yang relevan, yang memungkinkan sesi untuk menggabungkan beberapa pernyataan SQL terkait ke dalam pernyataan SQL untuk mengurangi jumlah database akses dan meningkatkan program aplikasi pertunjukan.
11 Masalah lebih dari runtime lebih banyak urusan
新 Jenis Pembaruan Kerugian Pertama
Bacaan kotor
Ø Ø Ø Ø/pembacaan hantu
Ø Jangan membaca berulang kali
新 Jenis Pembaruan Kerugian Kedua
12 Perbedaan antara pembersihan dan kekosongan sesi
清 Cache pembersihan sesi berarti memperbarui database secara serempak sesuai dengan perubahan keadaan cache;
S clear adalah sesi untuk menghapus bagian atau semua objek atau sesi;
13 prinsip kerja Hibernate dan mengapa
Utama
1. Baca dan analisis file konfigurasi
2. Baca dan analisis informasi pemetaan, buat sessionFactory
3. Sesi Terbuka
4. Buat transmisi transaksi
5. Operasi Persisten
6. Kirimkan transaksi
7. Tutup sesi
8. Tutup sestionFactory
Ø Mengapa Anda menggunakan
1. Mengemas kode akses JDBC ke database, yang sangat menyederhanakan kode berulang yang membosankan dari lapisan akses data.
2. Hibernate adalah kerangka kerja utama dan kegigihan berdasarkan JDBC, dan ini merupakan implementasi ORM yang sangat baik. Dia sebagian besar menyederhanakan karya pengkodean dari lapisan DAO
3. Hibernate menggunakan mekanisme refleksi Java alih -alih bytecode peningkatan program untuk mencapai transparansi.
4. Kinerja Hibernate sangat bagus karena merupakan kerangka kerja yang ringan. Fleksibilitas pemetaan sangat baik. Ini mendukung berbagai basis data hubungan, dari satu ke satu hingga hubungan yang lebih kompleks.
14 beban penundaan hibernasi
1. Hibernate2 Penundaan Implementasi Pemuatan: A) Objek Olahraga B) Jenis Koleksi
2. Hibernate3 memberikan fungsi pemuatan penundaan atribut
Ketika Hibernate meminta data, data tidak ada dan memori, dan ketika program benar -benar mengoperasikan data, objek ada dan memori ditunda.
15 Mekanisme cache Hibernate
1. Cache tingkat pertama juga disebut cache internal hibernate, yang termasuk dalam cache kelas transaksi aplikasi
2. cache tingkat kedua
a) Aplikasi dan cache
b) cache terdistribusi
Ketentuan: Data tidak akan dimodifikasi oleh pihak ketiga, ukuran data dalam kisaran yang dapat diterima, frekuensi pembaruan data rendah, dan data yang sama sering digunakan oleh sistem dan data non -kritis.
c) realisasi cache pihak ketiga
16 Mengoptimalkan Hibernate
1. Gunakan dua -jalan satu -untuk -banyak asosiasi, jangan gunakan satu -untuk -satu pasangan
2. Penggunaan fleksibel satu -jalur -untuk -Multiple Association
3. Tidak satu -untuk -satu, ganti dengan lebih banyak pasangan
4. Cache Objek Konfigurasi, Tanpa Koleksi Cache
5. satu -untuk -multi -kollection menggunakan tas, sebagian besar set penggunaan multi -penagihan
6. Kelas warisan digunakan untuk multi -state
7. Ada lebih sedikit bidang meja, jangan takut dengan asosiasi tabel, ada cache tingkat kedua yang mendukung pinggang
Di atas adalah ringkasan umum hibernate, yang lebih umum dalam wawancara Java, berharap dapat membantu semua orang.