>Java >java지도 시간 >예약된 키워드를 사용하여 JPA 엔터티 필드를 어떻게 매핑할 수 있습니까?

예약된 키워드를 사용하여 JPA 엔터티 필드를 어떻게 매핑할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-02 22:32:11325검색

How Can I Map JPA Entity Fields with Reserved Keywords?

JPA에서 예약어를 사용하여 엔터티 필드 매핑

JPA에서 이름이 예약어인 엔터티 필드를 직접 매핑할 수 없으면 특히 작업 시 애플리케이션 개발에 장애물이 될 수 있습니다. 구문 규칙을 엄격하게 적용하는 방언이 있습니다. 그러나 JPA 제공자로서 Hibernate에서 사용할 수 있는 간단한 솔루션이 있습니다.

백틱과 함께 식별자 이스케이프 사용

예약된 키워드를 이스케이프하려면 @ 안에 백틱으로 묶습니다. 열 주석. 이 기능은 Hibernate Core에서 상속되었으며 SQL 방언을 기반으로 하는 올바른 인용 스타일을 지원합니다. SQL Server의 경우 이는 인용에 대괄호를 사용하는 것으로 해석됩니다.

Hibernate에서 JPA 1.0 공급자로:

@Column(name="`open`")

JPA 2.0에서:

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

이를 활용하여 접근 방식을 사용하면 Hibernate는 테이블 생성 중에 예약된 키워드가 적절하게 인용되도록 보장하여 테이블 생성 시 발생하는 것과 같은 문제를 방지합니다. 'open' 필드.

추가 리소스

  • [Hibernate 참조 가이드](https://docs.jboss.org/hibernate/orm/6.0/ userguide/html_single/)
  • [5.4. SQL 인용 식별자](https://docs.jboss.org/hibernate/orm/6.0/userguide/html/identifiers.html#naming-sql-quoted-identifiers)
  • [JPA 2.0 사양](https ://jcp.org/en/jsr/detail?id=338)
  • [2.13 데이터베이스 이름 지정 객체](https://docs.oracle.com/javaee/7/api/javax/persistence/metamodel/Attribute.html#getName--)

관련 질문

  • [Hibernate, MySQL 및 "Repeat"이라는 테이블 - 이상함 동작](https://stackoverflow.com/questions/56279222/hibernate-mysql-and-table-named-repeat-strange-behaviour)
  • [Hibernate 테이블 및 열](https://stackoverflow.com/questions/24237940/automatic-reserved-word-escaping-for-hibernate-tables-and-columns)

위 내용은 예약된 키워드를 사용하여 JPA 엔터티 필드를 어떻게 매핑할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.