Mit Hibernate als JPA 1.0-Anbieter können Sie ein reserviertes Schlüsselwort maskieren, indem Sie es in Backticks einschließen:
@Column(name="`open`")
Dies ist die von Hiberate Core geerbte Syntax:
5.4. SQL-Bezeichner in Anführungszeichen
Sie können Hibernate dazu zwingen, einen Bezeichner in der generierten SQL in Anführungszeichen zu setzen, indem Sie den Tabellen- oder Spaltennamen im Mapping-Dokument in Backticks einschließen. Hibernate verwendet den korrekten Anführungsstil für den SQL-Dialekt. Dies sind normalerweise doppelte Anführungszeichen, aber der SQL-Server verwendet Klammern und MySQL verwendet Backticks /P>
<class name="LineItem" table="`Line Item`">
<id name="id" column="`Item Id`"/><generator class="assigned"/></id>
<property name="itemNumber" column="`Item #`"/>
...
</class>
In JPA 2.0 ist die Syntax standardisiert und wird zu:
@Column(name="\"open\"")
Referenzen
- Ruhezustand-Referenzhandbuch
- 5.4. SQL-Bezeichner in Anführungszeichen
- JPA 2.0-Spezifikation
- 2.13 Benennung von Datenbankobjekten
Verwandte Fragen
- Ruhezustand, MySQL und Tabelle namens „Repeat“ – seltsames Verhalten
- Automatisches Maskieren von reservierten Wörtern für Hibernate-Tabellen und -Spalten