Questo nome sarà sfuggito?
Non c'è nulla nelle specifiche APP che dice così, se il vostro provider lo fa, questo è provider specifico.
sarebbe l'uso di un diverso nome della tabella di risolvere il problema @Table (name = "otherName")
Ovviamente, sarebbe (a patto che non si usare un'altra parola chiave riservata, naturalmente,). Ma se si utilizza un provider JPA 2.0, esiste un modo standard per ottenere un nome di oggetto db fuggito, con doppi apici:
@Table(name="\"Group\"")
In JPA 1.0, non è standard niente, dipende dal vostro provider JPA. Ad esempio, Hibernate usa backticks:
@Table(name="`Group`")
O dovrei rinominare la classe?
No. Il nome tabella di un'entità è impostato per default sul nome dell'entità ma è possibile controllarlo utilizzando l'annotazione @Table
come si è visto. Non è quindi necessario modificare il nome della classe della propria entità.
fonte
2010-09-05 21:15:09
Se si utilizzano citazioni del genere, non sarà possibile creare alcuna tabella di combinazione (ad esempio OneToMany relations) ("Group" _Members f.e. è un nome non valido). Questa soluzione è un trucco, e io raccomanderei di non usare nomi riservati per le tabelle. I nomi dei campi pongono meno problemi. – Steven