protected void executeDerivedRelationships() { List<DerivedRelationshipData> derivedRelationships = persistRequest.getDerivedRelationships(); if (derivedRelationships != null) { SpiEbeanServer ebeanServer = (SpiEbeanServer) persistRequest.getEbeanServer(); for (int i = 0; i < derivedRelationships.size(); i++) { DerivedRelationshipData derivedRelationshipData = derivedRelationships.get(i); BeanDescriptor<?> beanDescriptor = ebeanServer.getBeanDescriptor(derivedRelationshipData.getBean().getClass()); BeanProperty prop = beanDescriptor.getBeanProperty(derivedRelationshipData.getLogicalName()); EntityBean entityBean = (EntityBean) derivedRelationshipData.getBean(); entityBean._ebean_getIntercept().markPropertyAsChanged(prop.getPropertyIndex()); ebeanServer.update(entityBean, transaction); } } }