LoadEvent event,
LoadEventListener.LoadType options,
EntityPersister dependentPersister,
EmbeddedComponentType dependentIdType,
EntityPersister parentPersister) {
final EntityKey parentEntityKey = new EntityKey(
event.getEntityId(),
parentPersister,
event.getSession().getEntityMode()
);
final Object parent = doLoad(
event,
parentPersister,
parentEntityKey,
options
);
Serializable dependent = (Serializable) dependentIdType.instantiate( parent, event.getSession() );
dependentIdType.setPropertyValues( dependent, new Object[] {parent}, event.getSession().getEntityMode() );
final EntityKey dependentEntityKey = new EntityKey(
dependent,
dependentPersister,
event.getSession().getEntityMode()
);
event.setEntityId( dependent );