2016-05-05 12 views
0

Ich habe einige JPA Entity-Klassen, in denen der Name des Unternehmens einen Punkt enthält:JPA Entities mit Punktnotation genannt

Es scheint, dieses Namensschema Probleme mit benannten Abfragen verursacht. In den folgenden Abfragen zeigt eclipse einen Fehler für jede FROM-Klausel und alle Verweise auf die Entität an. Wenn ich den Namen der Entität in nur "City" ändere, verschwinden alle diese Fehler. Es sollte angemerkt werden, dass jpa/hibernate scheinbar nicht damit zu tun hat, da es kompiliert und gut funktioniert. Aber ich würde gerne herausfinden, wie man dieses Benennungsschema behält, ohne dass Eclipse überall Fehler hat.

image1 enter image description here

@Entity (name = "gnf.City") 
@Table (name = "CITY") 
@NamedQueries ({ @NamedQuery (name = "City.getMaxId", query = "SELECT MAX (o.id) FROM gnf.City o"), 
     @NamedQuery (name = "City.getByCode", query = "SELECT c FROM gnf.City c WHERE c.code=:code"), 
     @NamedQuery (name = "City.getByNameAndState", query = "SELECT c FROM gnf.City c WHERE c.name=:name AND c.state=:state"), 
     @NamedQuery (name = "City.getByCodeAndState", query = "SELECT c FROM gnf.City c WHERE c.code=:code AND c.state=:state") }) 

Antwort

2

Die JPA-Spezifikation impliziert der Entity Name ein Java-Bezeichner sein muss (was keinen Punkt/Punkt-Zeichen in der Zeichenfolge zulassen). Der von Eclipse Dali verwendete Standard-JPQL-Parser entspricht der JPA-Spezifikation. Wenn Hibernate die Spezifikation erweitert, können Sie möglicherweise die JBoss Tools Dali-Erweiterung verwenden, um festzustellen, ob sie einen anderen Parser bereitstellt.

Alternativ könnten Sie Dalis JPQL Validierung in den Eclipse-Einstellungen deaktivieren:

Java Persistence> JPA> Fehler/Warnungen> Abfragen und Generatoren> Ungültige oder unvollständige JPQL Anfragen: Ignorieren

Verwandte Themen