Hallo Java-Forum,
Ich arbeite derzeit mit JSF und JPA an einer Lösung und bin nun darauf gekommen, verschiedene Typen als enums anstatt mit einfachen Konstanten zu pflegen, was diverse Vorteile bringt.
Da ich NamedQueries einsetzte, habe ich auch dort gebrauch davon gemacht. Allerdings wirft mir der Java-Compiler bei folgendem Versuch eine Fehlermeldung an den Kopf.
Wenn ich den Teil
wegnehme, passt es, aber ich brauche diesen Teil. Mir fallen zwar einige Wege ein dies zu umschiffen, aber eigentlich würde ich gerne verstehen warum das so ist bzw. wie ich dies richtig machen kann?
Gruß
Sebastian
Ich arbeite derzeit mit JSF und JPA an einer Lösung und bin nun darauf gekommen, verschiedene Typen als enums anstatt mit einfachen Konstanten zu pflegen, was diverse Vorteile bringt.
Da ich NamedQueries einsetzte, habe ich auch dort gebrauch davon gemacht. Allerdings wirft mir der Java-Compiler bei folgendem Versuch eine Fehlermeldung an den Kopf.
The value for annotation attribute NamedQuery.query must be a constant expression
Java:
@NamedQuery(name = ProjectCardParameter.QUERY_BY_PROJECT_TYPE, query = "SELECT pcp FROM ProjectCardParameter pcp WHERE (pcp.projectType = :projectType1 OR pcp.projectType = " + Constants.ProjectType.ANY + ") ORDER BY pcp.defaultVisibility ASC, pcp.name ASC"),
Wenn ich den Teil
Java:
OR pcp.projectType = " + Constants.ProjectType.ANY
Gruß
Sebastian