2016-12-16 3 views
0

Ich habe diese Klasse in meinem Spring Web Model-View-Controller (MVC) Framework. Die Version des Model-View-Controller-Framework (MVC) von Spring Web ist 3.2.8.Hibernate HQL unerwartet Token mit Likes

und ich habe diese Methode in 1 DAO

final StringBuilder queryString = new StringBuilder(" select app from Application app where upper (ticket_id) like :searchString and upper (id) like :searchString "); 

     queryString.append("where app.status != " + Status.READY.ordinal()); 

     queryString.append(" order by app.submissionTime desc "); 

     try { 

      final Query query = getEntityManager().createQuery(queryString.toString()); 

      searchString = searchString.replace("!", "!!") 
         .replace("%", "!%") 
         .replace("_", "!_") 
         .replace("[", "![") 
         .trim() 
         .toUpperCase(); 


      query.setParameter ("searchString", searchString);      

      return query.getResultList(); 

Aber ich habe diesen Fehler auf Laufzeit:

org. where near line 1, column 144 [ select app from com.tdk.devices.domain.Application app where upper (ticket_id) like :searchString and upper (id) like :searchString where app.status != 0 order by app.submissionTime desc ] 
+1

Spalte 144 ist der Anfang von app.status - nichts mit Likes zu tun – DaveRlz

Antwort

5

You "wo" Klausel 2 mal verwendet. Zuerst im Konstruktor von StringBuilder, dann:

queryString.append("where app.status != " + Status.READY.ordinal());