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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---