What sort of operations ahould one be performing during an ejbCreate method? Currently we are passing in a coarse grained value object called detail, and going through the full BMP "create" cycle (i.e. inserts called through stored procs from a DAO class). The container, afetr the ejbCreate method immediately invokes the ejbStore method and all the updates are called from the BMP called- sprocs. This is causing deadlocks under minnimal load conditions.
Since we are dealing with a coarse grained value object (ie. complicated graph of objects), we tend to get lazy and perform a db "delete" followed by "re-insert" on some of the objects represented by the nodes of the object graph, instead of tracking the individual objects that were changed.
I am wondering if this is a common practice for coarse grained BMP value objects and specifically if we are "overworking" the intention of the ejb create method?