2016-04-27 3 views
0

Normalerweise ist Java 8 der @NamedQuery ist wiederholbar.javax.persistence.NamedQuery ist kein wiederholbarer Annotationstyp

Trotzdem, wenn ich kompilieren Ich habe den Fehler:

javax.persistence.NamedQuery is not a repeatable annotation type 

Hier ist mein Quellcode:

@NamedQuery(name = "listDocumentsByStatus", query = "FROM Document d WHERE d.status = :STATUS ") 
@NamedQuery(name = "listDocumentsByNameAndType", query = "FROM Document d WHERE d.type = :TYPE AND UPPER(d.name) LIKE :NAME ") 
public abstract class Document implements Serializable { 
... 
} 

Muss ich someething falsch verstanden?

+0

„normal“ definieren. Eine Annotation ist wiederholbar, wenn sie die Java8-Annotation '@ Repeatable' enthält. Die offizielle JavaEE7-Version von 'javax.persistence.NamedQuery' hat dies nicht getan. – Holger

+0

@Holger Sie hatten Recht, obwohl '@ NamedQuery' in JavaEE7 wiederholbar war, da '@ Repeatable' in Java8 implementiert ist. – Jiujiu

Antwort

0

Bitte versuchen Sie diese

@Entity 
@NamedQueries(@NamedQuery(name = "findAllExtensionsSorted", query = "select e from Abc e order by e.c") 
@NamedQuery(name = "findByType", query = "select e from Abc e where e.t = :type")) 
public class Abc... 
+0

Ich habe' @ NamedQueries' bereits verwendet, aber ich wollte wiederholbare Annotation verwenden, aber noch nicht in JavaEE7 implementiert – Jiujiu