Lors du mappage de champs d'entité dont les noms sont des mots réservés dans JPA, tels que « ouvrir » dans SQL Server, des problèmes peuvent survenir . Hibernate utilise généralement des identifiants entre guillemets lors de la création de tables, garantissant que les mots-clés réservés n'interfèrent pas avec les requêtes SQL. Cependant, cela ne se produit pas toujours, ce qui entraîne des erreurs comme celle rencontrée dans l'exemple.
Dans JPA 1.0, le problème peut être résolu en en utilisant des backticks autour du mot-clé réservé dans l'annotation @Column :
@Column(name="`open`")
Hibernate encadrera alors le identifiant entre guillemets appropriés basés sur le dialecte SQL.
Dans JPA 2.0, la syntaxe d'échappement des mots-clés réservés a été standardisée, à l'aide de guillemets doubles :
@Column(name="\"open\"")
Cette approche ajoutera automatiquement les guillemets nécessaires au SQL requêtes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!