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

데이터베이스 예약어를 사용하여 JPA 엔터티 필드를 어떻게 매핑할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-02 14:33:16688검색

How Can I Map JPA Entity Fields with Database Reserved Words?

예약어를 JPA의 엔터티 필드로 매핑

JPA의 SQL 사용은 데이터베이스 방언의 예약어와 충돌할 수 있습니다. 이 문제를 해결하기 위해 일반적인 "자신만의 방언 사용" 솔루션을 피하면서 엔터티 필드를 예약어와 매핑하는 방법을 살펴보겠습니다.

Hibernate의 접근 방식

Hibernate를 사용하면 예약어를 이스케이프 처리할 수 있습니다. 백틱(`) 안에. JPA 1.0의 경우 다음을 사용합니다.

@Column(name="`open`")

JPA 2.0 이상의 경우 구문은 다음과 같습니다.

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

References

  • [Hibernate Reference 가이드](https://docs.jboss.org/hibernate/stable/orm/reference/en/html_single/#d0e3171)
  • [5.4. SQL 인용 식별자](https://docs.jboss.org/hibernate/stable/orm/reference/en-US/html/dialect-options.html#d0e3171)
  • [JPA 2.0 사양](https://docs.oracle.com/javaee/7/api/javax/persistence/Column.html#name())
  • [2.13 데이터베이스 객체 이름 지정](https://docs .oracle.com/javaee/7/api/javax/persistence/Table.html#name())

추가 리소스

  • [Hibernate, MySQL 및 "반복" 테이블](https://stackoverflow.com/questions/18211310/hibernate-mysql-and-table-named-repeat-strange-behavior)

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

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