There are two options when setting up your JBPM session.
You can put your JBPM mappings in the same Hibernate session, and as a result, have their tables in the database with the applications tables.
You can put the JBPM mappings in a separate Hibernate session, and have them in a separate database.
I have seen one article that recommends method 1, and I can see why because it allows you to have foreign key references to the JBPM data objects directly. The only issue that I have seen pop up is if you try and save the jbpm object while a JBPM process is running, you get a deadlock on the database.
Other than that, which method would be better, and for what reasons?