I've got the same problem with using a DB2 database. When generating the sql script only InstanceId will be created by the script. But the SQL-statement shows that a non existing id column is adressed. When you change hibernate.hbm2ddl.auto to update an id column is created and you won't get an error. Nevertheless there seems to be something inconsistend. The class org.jbpm.persistence.processinstance.ProcessInstanceInfo has the correct annotation (https://github.com/droolsjbpm/jbpm/blob/master/jbpm-persistence-jpa/src/main/java/org/jbpm/persistence/processinstance/ProcessInstanceInfo.java). I can't see where the reference to id comes from.
Same Problem with EventType. In the generated scheme there are only two columns: InstanceId and Element. But If you let the tables be generated by hibernate.hbm2ddl.auto update there is an additional field created EventType.