Frequent deadlocks are reported by (Oracle) DB when accessing the capability table.
Databases wait to actually write (flush) data until someone wants to read it.
The hibernate session is being flushed and for some reason the capability object is marked as dirty.
Hibernate issues an update to persist the capability. Not usually a big deal but with a large number of plans and the fact that this is invoked from an event, we could have events that try to lock competing resources.