2017-12-04 3 views
0

Ich erhalte org.hibernate.HibernateException: Errors in named queries: getPreferenceById und dies ist meine AbfrageFehler bei benannten Abfragen

@NamedQueries({ 
    @NamedQuery(name = "getPreferenceById", 
    query = "select p from Preference p where p.profile.id=:Id") }) 

und dies ist meine Vorlieben Klasse

@Entity(name = "perference") 
public class Preference { 

    @OneToOne 
    @JoinColumn(name = "id", nullable = false) 
    private Profile profile; 

} 

Die Abfrage ist für die Präferenz für das gegebene Profileid zu holen, (id), aber es gibt Fehler. Ich habe eine ähnliche benannte Abfrage in der Profilklasse, aber es gibt keinen Fehler.

ich dies in der stacktrace gefunden,

Error in named query: getPreferenceById 
org.hibernate.hql.internal.ast.QuerySyntaxException: Preference is not mapped 
[select p from Preference p where p.profile.id=:Id] 

Ich habe die javax @Entity Anmerkung zu den Vorlieben Klasse hinzugefügt

Was ist mit dieser benannte Abfrage falsch ist. Ich habe versucht, das seit gestern zu beheben. Jede Hilfe wird geschätzt. Bitte fragen Sie, wenn Sie weitere Informationen benötigen

+0

Fügen Sie bitte eine vollständige Stack-Trace hinzu. –

+0

Die Klasse ist wahrscheinlich nicht in Ihrer Datei persistence.xml oder in Ihrer Ruhezustandskonfigurationsdatei aufgeführt. Wenn Sie aufgefordert werden, den vollständigen Stack-Trace zu posten, warum veröffentlichen Sie nicht den vollständigen Stack-Trace? –

+0

Ich verwende keine XML-Konfiguration, es ist java-basierte/Annotation-gesteuerte Konfiguration und die Tabelleneinstellung wird in der Datenbank erstellt, wenn ich das Programm ohne named Abfrage in Präferenz Klasse – Sony

Antwort

0

Ich habe endlich, dass die NamedQueries-NativeNamedQueries durch wechselnde Arbeits ich weiß nicht, warum es

arbeitete
0

Es scheint, dass es ein Tippfehler-Fehler ist, ändern Preference-preference:

@NamedQueries({ 
    @NamedQuery(name = "getPreferenceById", 
    query = "select p from preference p where p.profile.id=:Id") }) 

Da Sie @Entity(name = "perference") verwenden, um Ihre Klasse zuzuordnen.

Verwandte Themen