I'm no HQL expert, but I'm guessing you can do something like this: select firstname.value || ' ' || lastname.value from BaseObject obj, StringProperty firstname, StringProperty lastname where obj.className='XWiki.XWikiUsers' and firstname.id=obj.id and firstname.name = 'first_name' and lastname.id = obj.id and lastname.name = 'last_name' Untested so you may have to play around with it to get it to work. Hopefully I'm not too far off the mark. Also, depending on how your database's query optimizer works, a join might perform better. Of course, that also depends on how Hibernate translates the HQL to SQL. Hibernate *may* be smart enough to convert this to a join in which case it's a non-issue. Best Regards, Jason Koeninger J&J Computer Consulting Mark Robinson wrote:
Hi Brandon.
No doubt there is a simple and elegant answer to your problem that someone will suggest soon. I worked around a similar problem that I needed to fix quickly by making the select straight html with a Velocity loop over the the option tags.
That way you can still have your names and values as described.
Cheers,
Mark
On 11 May 2006, at 5:50 PM, Esbach, Brandon wrote:
Hi all,
I guess this is more a hibernate query than an Xwiki one, but here is what I'm trying to do: We use a simple project management class currently to keep track of projects/engineer assignments/etc - currently managers type in freeform names… as you could imagine this is a bit of a problem with adding some more active content relating to the user (we're adding a 'workdesk' feature on login so that engineers/managers can see what projects/tasks/etc are assigned to them, without having to browse around and search).
What I thought of doing was adding a dropdown with the user details - allowing me to create a solid link between user and project.
Now here's the problem… I need to associate the firstname+lastname in the query - so that the manager/etc will pick a name they recognise immediately, instead of relying on them to know login names.
Initially, I had thought to use a Map or List to request multiple fields - but this does not seem to be understood by the renderer when it creates a list dropdown - I get immediate errors
Getting first name, no problem: select prop.value from BaseObject obj, StringProperty prop where obj.className='XWiki.XWikiUsers' and prop.id.id=obj.id and prop.name='first_name'
EG output in the list: 'Brandon' 'UserXFirstName'
Getting Last name, also no problem: select prop.value from BaseObject obj, StringProperty prop where obj.className='XWiki.XWikiUsers' and prop.id.id=obj.id and prop.name='last_name'
EG output: 'Esbach' 'UserXLastName'
Now it gets sticky. Join the two fields with a space between them, so that instead of 'Brandon' or 'Esbach' I get 'Brandon Esbach'.. This I cannot seem to figure out using Hibernate, so any hints/tips/suggestions would be appreciated.
*Problem number 2:* Another small catch I have is mapping this entry so that I can query on it. Normally with data representation one would have a 'display' value and a 'link' value - kind of like the 'pretty name' and 'real name' facility of class objects; only the 'pretty name' gets shown when using automatic rendering - but the field is updated based on 'real name'. Erm. Hope that makes sense.
eg if my Xwiki name is braesb, firstname Brandon, lastname Esbach I could have a list looking like this: 'Brandon Esbach' 'UserXFirstName UserXLastName' Selecting 'Brandon Esbach' would then look to my 'link' value of Xwiki.braesb, and store this with the record. Querying on this then becomes no problem - but can this be done in Xwiki?
/Brandon Esbach/ /Software Engineer/ /M/A-Com Eurotec Operations/ /LoughMahon Technology Park,/ /Skehard Road,/ /Blackrock,/ /Cork, Ireland/ /Tel +353 21 4808305/
-- You receive this message as a subscriber of the [email protected] <mailto:[email protected]> mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
------------------------------------------------------------------------
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws