I used the jdoql url.matches like this: public static List<Pojo_website> getEntries(String url) { PersistenceManager pm = PMF.get().getPersistenceManager(); Query query = pm.newQuery(Pojo_website.class); StringBuilder filter = new StringBuilder(); if(url != null && !url.equals("")){ if (filter.length() != 0) { filter.append(" && "); } filter.append("url.matches(\".*urlselected.*\")"); //filter.append("url.startsWith(urlselected) "); } if (filter.length() > 0) { query.setFilter(filter.toString()); } query.setOrdering("url desc"); query.declareParameters("String urlselected"); System.out.println("The JDOQL: " + query.toString()); List<Pojo_website> entries = (List<Pojo_website>) query.execute (url); return entries; }
But the error message for me: 2009-9-9 5:58:00 com.google.apphosting.utils.jetty.JettyLogger warn 警告: Nested in org.apache.jasper.JasperException: org.datanucleus.store.appengine.query.DatastoreQuery $UnsupportedDatastoreFeatureException: Problem with query <SELECT FROM com.backlinks.pojo.Pojo_website WHERE url.matches(".*urlselected.*") PARAMETERS String urlselected ORDER BY url desc>: Wildcard must appear at the end of the expression string (only prefix matches are supported): org.datanucleus.store.appengine.query.DatastoreQuery $UnsupportedDatastoreFeatureException: Problem with query <SELECT FROM com.backlinks.pojo.Pojo_website WHERE url.matches(".*urlselected.*") PARAMETERS String urlselected ORDER BY url desc>: Wildcard must appear at the end of the expression string (only prefix matches are supported) at org.datanucleus.store.appengine.query.DatastoreQuery.getPrefixFromMatchesExpression (DatastoreQuery.java:774) at org.datanucleus.store.appengine.query.DatastoreQuery.handleMatchesOperation (DatastoreQuery.java:748) at org.datanucleus.store.appengine.query.DatastoreQuery.addExpression (DatastoreQuery.java:733) at org.datanucleus.store.appengine.query.DatastoreQuery.addFilters (DatastoreQuery.java:663) at org.datanucleus.store.appengine.query.DatastoreQuery.performExecute (DatastoreQuery.java:214) at org.datanucleus.store.appengine.query.JDOQLQuery.performExecute (JDOQLQuery.java:84) at org.datanucleus.store.query.Query.executeQuery(Query.java:1489) at org.datanucleus.store.query.Query.executeWithArray(Query.java: 1371) at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:243) at com.backlinks.dao.Dao_website.getEntries(Dao_website.java:37) at org.apache.jsp.website_005fmanage_jsp._jspService (website_005fmanage_jsp.java:68) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:324) at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at com.google.appengine.tools.development.PrivilegedJspServlet.access $101(PrivilegedJspServlet.java:23) at com.google.appengine.tools.development.PrivilegedJspServlet$2.run (PrivilegedJspServlet.java:59) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.tools.development.PrivilegedJspServlet.service (PrivilegedJspServlet.java:57) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at com.google.appengine.tools.development.StaticFileFilter.doFilter (StaticFileFilter.java:121) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 405) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle (DevAppEngineWebAppContext.java:54) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:313) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 506) at org.mortbay.jetty.HttpConnection$RequestHandler.content (HttpConnection.java:844) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442) 2009-9-9 5:58:00 com.google.apphosting.utils.jetty.JettyLogger warn Wildcard must appear at the end of the expression string (only prefix matches are supported) Wildcard must appear at the end of the expression string (only prefix matches are supported) Wildcard must appear at the end of the expression string (only prefix matches are supported) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---