What I do is this:
public void startProcess(CoreData coreData, String definitionId) {
//build variables.......
ProcessInstance processInstance = kSession.startProcess(definitionId, variables);
ProcessInfoData processInfoData = new ProcessInfoData();
processInfoData.setkSessionId(kSession.getId());
processInfoData.setProcessInstanceId(processInstance.getId());
serviceProcessInfo.create(processInfoData);
}
So, in my db, I have a table that maps KnowledgeSession <---> ProcessInstance