Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Memetakan Medan Entiti JPA dengan Kata Kunci Terpelihara?

Bagaimanakah Saya Boleh Memetakan Medan Entiti JPA dengan Kata Kunci Terpelihara?

Linda Hamilton
Linda Hamiltonasal
2024-12-02 22:32:11324semak imbas

How Can I Map JPA Entity Fields with Reserved Keywords?

Memetakan Medan Entiti dengan Kata Kunci Terpelihara dalam JPA

Ketidakupayaan untuk secara langsung memetakan medan entiti yang namanya dikhaskan kata kunci dalam JPA boleh menimbulkan sekatan jalan untuk pembangunan aplikasi, terutamanya apabila bekerja dengan dialek yang menguatkuasakan peraturan sintaksis dengan ketat. Walau bagaimanapun, terdapat penyelesaian mudah yang tersedia dalam Hibernate sebagai penyedia JPA.

Menggunakan Identifier Escape with Backticks

Untuk melepaskan kata kunci yang dikhaskan, sertakan kata kunci itu dalam tanda belakang dalam @ Anotasi lajur. Ciri ini diwarisi daripada Teras Hibernate dan menyokong gaya petikan yang betul berdasarkan dialek SQL. Untuk SQL Server, ini diterjemahkan kepada penggunaan kurungan untuk memetik.

Dalam Hibernate sebagai penyedia JPA 1.0:

@Column(name="`open`")

Dalam JPA 2.0:

@Column(name="\"open\"")

Dengan menggunakan ini pendekatan, Hibernate memastikan bahawa kata kunci yang dikhaskan dipetik dengan betul semasa pembuatan jadual, menghalang isu seperti yang ditemui dengan medan 'terbuka'.

Sumber Tambahan

  • [Panduan rujukan hibernate](https://docs.jboss.org/hibernate/orm /6.0/userguide/html_single/)
  • [5.4. Pengecam petikan SQL](https://docs.jboss.org/hibernate/orm/6.0/userguide/html/identifiers.html#naming-sql-quoted-identifiers)
  • [JPA 2.0 spesifikasi](https://jcp.org/en/jsr/detail?id=338)
  • [2.13 Penamaan Objek Pangkalan Data](https://docs.oracle.com/javaee/7/api /javax/persistence/metamodel/Attribute.html#getName--)

Berkaitan Soalan

  • [Hibernate, MySQL dan jadual bernama "Repeat" - kelakuan aneh](https://stackoverflow.com/questions/56279222/hibernate-mysql-and-table-named- ulangi-kelakuan-pelik)
  • [Perkataan simpanan automatik melarikan diri untuk Jadual dan lajur hibernate](https://stackoverflow.com/questions/24237940/automatic-reserved-word-escaping-for-hibernate-tables-and-columns)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memetakan Medan Entiti JPA dengan Kata Kunci Terpelihara?. 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