for the processes, we need a cache. instead of using the ORM caching, i think that an application level cache is better.
an application level cache would fetch needed process definitions and keeps the objects in memory. then all runtime data that has a reference to a process element would have to do this through a special customized user type.
the problem is that JPA --at a first glance through the spec-- doesn't seem to have user type capabilities like hibernate has.