>Java >java지도 시간 >JPA 엔터티 필드 매핑에서 예약된 키워드를 처리하는 방법은 무엇입니까?

JPA 엔터티 필드 매핑에서 예약된 키워드를 처리하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-02 04:23:15635검색

How to Handle Reserved Keywords in JPA Entity Field Mapping?

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

SQL Server의 "open"과 같이 JPA에서 이름이 예약어인 엔터티 필드를 매핑할 때 문제가 발생할 수 있습니다. . Hibernate는 일반적으로 테이블을 생성할 때 인용된 식별자를 사용하여 예약된 키워드가 SQL 쿼리를 방해하지 않도록 합니다. 그러나 이것이 항상 발생하는 것은 아니므로 예에서 발생한 것과 같은 오류가 발생할 수 있습니다.

백틱으로 예약된 키워드 이스케이프 처리(JPA 1.0)

JPA 1.0에서는 다음을 통해 문제를 해결할 수 있습니다. @Column 주석의 예약된 키워드 주위에 백틱을 사용합니다.

@Column(name="`open`")

Hibernate는 다음을 묶습니다. SQL 방언을 기반으로 적절한 따옴표로 묶인 식별자.

큰따옴표 사용(JPA 2.0)

JPA 2.0에서는 예약 키워드를 이스케이프하는 구문이 큰따옴표를 사용하여 표준화되었습니다.

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

이 접근 방식은 SQL에 필요한 따옴표를 자동으로 추가합니다. 쿼리.

참조 문서

  • [Hibernate 참조 가이드](https://docs.jboss.org/hibernate/stable/)
  • [SQL 인용 식별자 최대 절전 모드에서 코어](https://docs.jboss.org/hibernate/orm/5.6/userguide/html_single/Hibernate_User_Guide.html#identifiers-delimit-identifiers)
  • [JPA 2.0 사양](https://docs.oracle.com/javaee/7/api/javax/persistence/package-summary.html)
  • [JPA 2.0의 데이터베이스 객체 이름 지정](https://docs .oracle.com/javaee/7/api/javax/persistence/Table.html#name--))

위 내용은 JPA 엔터티 필드 매핑에서 예약된 키워드를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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