ホームページ > Java > &#&チュートリアル > JPAエンティティフィールドマッピングで予約キーワードを処理するにはどうすればよいですか?

JPAエンティティフィールドマッピングで予約キーワードを処理するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-02 04:23:15
オリジナル
633 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート