FEHLER: syntax-Fehler an oder in der Nähe von "Benutzer"

Ich bin mit Hibernate und haben eine persistente Klasse "User" genannt. Da dies ein Schlüsselwort, markierte ich die @Entity-Attribut mit einem anderen Namen (die ich gesehen habe, zum Beispiel diese Frage:
Nicht verwenden Tabelle namens "Benutzer" in postgresql, hibernate)

Allerdings habe ich noch Probleme, weil diese Klasse erweitert eine andere, und es sieht aus wie hibernate ist immer noch versuchen, zu verwenden "Benutzer" den Namen einer Spalte und immer Durcheinander:

@Entity( name = "XonamiUser" )
public class User extends PropertyContainer {
    ...

und

@MappedSuperclass
public abstract class PropertyContainer implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    protected long key;
    /** tags */
    @ElementCollection
    protected Set<String> tags;

    @ElementCollection
    protected Set<String> searchList;
    ...

Meine anderen Klassen, die sich PropertyContainer scheinen gut zu funktionieren.

Ist das ein bug in hibernate? Gibt es eine Möglichkeit, um dieses kurze refactoring? Danke!

Hier sind die Fehler, die ich bin zu sehen (leicht bereinigt):

WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 42601
ERROR org.hibernate.util.JDBCExceptionReporter - Batch entry 0 insert into user_search_list (user, search_list) values ('1', 'bjorn') was aborted.  Call getNextException to see the cause.
WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 42601
ERROR org.hibernate.util.JDBCExceptionReporter - ERROR: syntax error at or near "user"
  Position: 31
  • Ich habe den Fehler, die dazu führen mich zu glauben, dass es immer noch mit den Namen der Spalte.
InformationsquelleAutor Bjorn Roche | 2012-01-27
Schreibe einen Kommentar