M
maki
Gast
Hallo zusammen,
versuche gerade einen MS SQL Server 2000 als DB zu nutzen, Treiber ist jTDS 1.2.2.
Das Problem ist, dass ich Entitäten habe, die genauso heissen wie Schlüsselwörter in TSQL, zB. User, da erzeugt hbm2ddl natürlich fehlerhaften SQL Code beim Versuch das Schema zu erzeugen und der SQL Server quittiert das dann mit der Fehlermeldung [c]Incorrect syntax near the keyword 'User'.[/c].
Es gäbe zwar die Möglichkeit, manuell bei jeder Entity mit verdächtigem Namen den Namen der Tabelle manuell zu setzen:
Ich würde das aber nur als Notlösung sehen, weiss weder ob das nicht mit anderen DBs Ärger macht (zB. HSQL), aber irgendwie wollte ich nicht den Code ändern müssen nur weil die DB ausgetauscht wird (zB. für Tests mit HSQL anstatt SQL Server).
Deswegen wollte ich wissen, ob es eine Möglichkeit gibt das zu konfigurieren, am liebsten in der persistence.xml oder irgendwie anders "elegant", also ohne Eingriff in den Quellcode der Entities..
versuche gerade einen MS SQL Server 2000 als DB zu nutzen, Treiber ist jTDS 1.2.2.
Das Problem ist, dass ich Entitäten habe, die genauso heissen wie Schlüsselwörter in TSQL, zB. User, da erzeugt hbm2ddl natürlich fehlerhaften SQL Code beim Versuch das Schema zu erzeugen und der SQL Server quittiert das dann mit der Fehlermeldung [c]Incorrect syntax near the keyword 'User'.[/c].
Es gäbe zwar die Möglichkeit, manuell bei jeder Entity mit verdächtigem Namen den Namen der Tabelle manuell zu setzen:
Java:
@Entity(name="[User]")
public class User
...
Deswegen wollte ich wissen, ob es eine Möglichkeit gibt das zu konfigurieren, am liebsten in der persistence.xml oder irgendwie anders "elegant", also ohne Eingriff in den Quellcode der Entities..