@Override @SuppressWarnings("unchecked") public <T, E extends PersistentEntity<? extends T, P>, P extends PersistentProperty<P>> T createInstance(E entity, ParameterValueProvider<P> provider) { Object[] params = extractInvocationArguments(entity.getPersistenceConstructor(), provider); try { return (T) instantiator.newInstance(params); } catch (Exception e) { throw new MappingInstantiationException(entity, Arrays.asList(params), e); } }
/** * @param entity * @return */ protected EntityInstantiator doCreateEntityInstantiator(PersistentEntity<?, ?> entity) { return new EntityInstantiatorAdapter(createObjectInstantiator(entity, entity.getPersistenceConstructor())); }