On 01/06/2011 01:18 PM, Caleb James DeLisle wrote: > > > On 01/06/2011 07:00 AM, Caleb James DeLisle wrote: >> The problem is that you are using SQL to query against the database and >> Hibernate is expecting HQL. >> I assume you added a table called lovtestdata manually. unfortunately >> hibernate doesn't know that it >> exists and will not allow you to query against it. >> >> The easy solution is to use: >> {{groovy}} >> xc = xcontext.getContext() >> hib = xc.getWiki().getHibernateStore(); >> hib.beginTransaction(xc); >> try { >> conn = hib.getSession().openConnection(); > > conn = hib.getSession().connection(); > My mistake. > >> // conn will be a >> http://download.oracle.com/javase/1.3/docs/api/java/sql/Connection.html >> // which will give you raw access to the database. >> >> // commit >> hib.endTransaction(xc, true); >> } catch (Exception e) { >> // or rollback >> hib.endTransaction(xc, false); >> throw e; >> } >> {{/groovy}} >> >> The "right" solution is to use XObjects and query for their properties using >> HQL or XWQL instead of >> raw database queries. >> >> Caleb >> >> >> On 01/06/2011 05:09 AM, Richardson Luke wrote: >>> Hi All, >>> >>> I am having an issue with an error when running a velocity macro in xwiki. >>> >>> Within the Oracle database I have a table containing a list of page names. >>> I am trying to run a script where the system takes this list, cycles >>> through all pages within a space and deletes any pages who's name appears >>> on the list.
An alternative is to use the SQL plugin: http://extensions.xwiki.org/xwiki/bin/Extension/SQL+Plugin >>> Here's what I have so far... >>> >>> .... >>> #set($sql = " where doc.space='AlarmIdentifiers' AND doc.name IN (SELECT >>> data FROM lovtestdata)") >>> #DeletePagesLocal($sql) >>> .... >>> >>> #macro(DeletePagesLocal $sql) >>> #foreach($item in $xwiki.searchDocuments($sql)) >>> #set($itemdoc = $xwiki.getDocument($item)) >>> $itemdoc.delete() >>> #end >>> #end >>> >>> The error I am getting is: >>> >>> Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception >>> while searching documents with SQL [select distinct doc.space, doc.name >>> from XWikiDocument as doc where (doc.hidden<> true or doc.hidden is null) >>> and doc.space='AlarmIdentifiers' AND doc.name IN (SELECT data FROM >>> lovtestdata)] >>> Wrapped Exception: lovtestdata is not mapped [select distinct doc.space, >>> doc.name from com.xpn.xwiki.doc.XWikiDocument as doc where (doc.hidden<> >>> true or doc.hidden is null) and doc.space='AlarmIdentifiers' AND doc.name >>> IN (SELECT data FROM lovtestdata)] >>> >>> Essentially it is saying that the table is not mapped. >>> >>> If anyone could point me in the right direction it would be great. >>> >>> Many thanks >>> Luke -- Sergiu Dumitriu http://purl.org/net/sergiu/ _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users