Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách ánh xạ một trường thực thể có tên là một từ dành riêng trong JPA

Với Hibernate as JPA 1.0 nhà cung cấp, bạn có thể thoát khỏi một từ khóa dành riêng bằng cách đặt nó trong backticks:

@Column(name="`open`")

Đây là cú pháp được kế thừa từ Hiberate Core:

5.4. Các mã định danh được trích dẫn trong SQL

Bạn có thể buộc Hibernate trích dẫn anidentifier trong SQL được tạo bằng cách đóng dấu ngoặc đơn của bảng hoặc cột trong tài liệu ánh xạ.Hibernate sẽ sử dụng kiểu trích dẫn chính xác cho SQL Dialect. Đây thường là dấu ngoặc kép, nhưng Máy chủSQL sử dụng dấu ngoặc và dấu gạch ngược MySQLuses.

<class name="LineItem" table="`Line Item`">
    <id name="id" column="`Item Id`"/><generator class="assigned"/></id>
    <property name="itemNumber" column="`Item #`"/>
    ...
</class>

Trong JPA 2.0, cú pháp được chuẩn hóa và trở thành:

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

Tài liệu tham khảo

  • Hướng dẫn tham khảo chế độ ngủ đông
    • 5.4. Các mã định danh được trích dẫn trong SQL
  • Đặc tả JPA 2.0
    • 2.13 Đặt tên cho các đối tượng cơ sở dữ liệu

Câu hỏi liên quan

  • Hibernate, MySQL và bảng có tên “Lặp lại” - hành vi lạ
  • Tự động thoát từ dành riêng cho các bảng và cột Hibernate


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tập lệnh khoảng không quảng cáo thu thập SQL Server -2

  2. Tạo cơ sở dữ liệu trong SQL Server 2017

  3. SQL Server Chuyển đổi Varchar thành Datetime

  4. Chương trình dòng lệnh hoặc tập lệnh đơn giản để sao lưu cơ sở dữ liệu máy chủ SQL là gì?

  5. Tại sao (và cách) chia cột bằng cách sử dụng master..spt_values?