Austen,
I've played a little more with the jBPM API and it seems that you don't have to manage the relationship between users and groups in jBPM Human-Task persistence database.
This is what I understand :
* you can assign tasks to groups by using the GroupID attribute of the Task
* you can call the API functions like getTasksAssignedAsPotentialOwner("user1", groups, "en-UK", user1TaskSummaryResponseHandler)
where the "groups" argument is a list of groups to which the user belongs. It is your responsibility to call a function that returns the list of groups and then to pass it to the jBPM Human Task engine.
jBPM sees which tasks are available for the user.
Does it make things clearer ?
rgds