1: attach a swinlane to the starttask. It will be filled with the actorid of the one who started the process.
2: By a custom hibernate query
Using a swimlane on the start task does work, as Ronald mentioned. Perhaps call it "Initiator", as I've done. Make it a standard on all your processes. Eg, at the top of you processdefinition.xml there should be this:
That swimlane will be filled with the actorId that started the process, again as Ronald mentioned.
If you have a task on the start node, and you know what the name of that task is, you could get the task instances for the process, and find the one with the name you require, and get the actorId for that task instance.
Whenever I create a new process, I also set a variable on the process called "sys_initiator", with the username/actorId of the currently authenticated user. This way I can always just get the "sys_initiator" variable when I want to know the username of the person who started the process.
Thanks for help.