Rumah >pangkalan data >tutorial mysql >Bagaimanakah Hibernate Boleh Buat atau Kemas Kini Jadual Pangkalan Data Secara Automatik daripada Kelas Entiti?

Bagaimanakah Hibernate Boleh Buat atau Kemas Kini Jadual Pangkalan Data Secara Automatik daripada Kelas Entiti?

Patricia Arquette
Patricia Arquetteasal
2024-12-06 19:07:13524semak imbas

How Can Hibernate Automatically Create or Update Database Tables from Entity Classes?

Mencipta atau Mengemas kini Jadual Pangkalan Data Secara Automatik Menggunakan Kelas Entiti Hibernate

Soalan:

Bagaimana saya boleh mengkonfigurasi Hibernate untuk mencipta secara automatik atau kemas kini jadual pangkalan data berdasarkan entiti yang ditentukan kelas?

Konteks:

Anda telah mencipta kelas entiti, ServerNode dan menentukan unit kegigihan dalam persistence.xml. Anda juga mempunyai skrip untuk mengekalkan contoh ServerNode. Walau bagaimanapun, pangkalan data sasaran belum lagi mengandungi sebarang jadual.

Penyelesaian:

Untuk mendayakan penciptaan atau kemas kini jadual automatik Hibernate, ikut langkah berikut:

  1. Dalam fail persistence.xml anda, cari harta itu hibernate.hbm2ddl.auto.

    Contohnya:

    <property name="hibernate.hbm2ddl.auto" value="create" />
  2. Tetapkan nilai hibernate.hbm2ddl.auto kepada salah satu daripada yang berikut:

    • buat: Cipta jadual semasa pembuatan sessionFactory dan membiarkannya tetap utuh.
    • create-drop: Mencipta jadual semasa pembuatan sessionFactory dan menjatuhkannya apabila sessionFactory ditutup.
  3. ( Pilihan) Untuk menentukan nama jadual secara eksplisit, gunakan anotasi javax.persistence.Table dalam entiti anda kelas.

    Contohnya:

    @Entity
    @Table(name = "ServerNodes")
    public class ServerNode {
        // ...
    }

Atas ialah kandungan terperinci Bagaimanakah Hibernate Boleh Buat atau Kemas Kini Jadual Pangkalan Data Secara Automatik daripada Kelas Entiti?. 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