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

Reply via email to