
org.babyfish.jimmer.sql.ast.mutation.AbstractEntitySaveCommand Maven / Gradle / Ivy
package org.babyfish.jimmer.sql.ast.mutation;
import org.babyfish.jimmer.lang.NewChain;
import org.babyfish.jimmer.meta.ImmutableProp;
import org.babyfish.jimmer.meta.TypedProp;
import org.babyfish.jimmer.sql.DissociateAction;
import org.babyfish.jimmer.sql.TargetTransferMode;
import org.babyfish.jimmer.sql.runtime.ExceptionTranslator;
import java.util.Collection;
public interface AbstractEntitySaveCommand {
@NewChain
AbstractEntitySaveCommand setMode(SaveMode mode);
@NewChain
AbstractEntitySaveCommand setAssociatedModeAll(AssociatedSaveMode mode);
@NewChain
AbstractEntitySaveCommand setAssociatedMode(ImmutableProp prop, AssociatedSaveMode mode);
@NewChain
AbstractEntitySaveCommand setAssociatedMode(TypedProp.Association, ?> prop, AssociatedSaveMode mode);
@NewChain
AbstractEntitySaveCommand setKeyProps(ImmutableProp ... props);
@NewChain
AbstractEntitySaveCommand setKeyProps(TypedProp, ?> ... props);
@NewChain
AbstractEntitySaveCommand setAutoIdOnlyTargetCheckingAll();
@NewChain
AbstractEntitySaveCommand setAutoIdOnlyTargetChecking(TypedProp.Association, ?> prop);
@NewChain
AbstractEntitySaveCommand setAutoIdOnlyTargetChecking(TypedProp.Association, ?> prop, boolean checking);
@NewChain
AbstractEntitySaveCommand setAutoIdOnlyTargetChecking(ImmutableProp prop);
@NewChain
AbstractEntitySaveCommand setAutoIdOnlyTargetChecking(ImmutableProp prop, boolean checking);
@NewChain
default AbstractEntitySaveCommand setDissociateAction(
TypedProp.Reference, ?> prop,
DissociateAction dissociateAction
) {
return setDissociateAction(prop.unwrap(), dissociateAction);
}
@NewChain
AbstractEntitySaveCommand setDissociateAction(
ImmutableProp prop,
DissociateAction dissociateAction
);
@NewChain
default AbstractEntitySaveCommand setTargetTransferMode(
TypedProp.ReferenceList, ?> prop,
TargetTransferMode mode
) {
return setTargetTransferMode(prop.unwrap(), mode);
}
@NewChain
AbstractEntitySaveCommand setTargetTransferMode(
ImmutableProp prop,
TargetTransferMode mode
);
@NewChain
AbstractEntitySaveCommand setTargetTransferModeAll(TargetTransferMode mode);
@NewChain
AbstractEntitySaveCommand setDeleteMode(DeleteMode mode);
@NewChain
AbstractEntitySaveCommand setLockMode(LockMode lockMode);
@NewChain
AbstractEntitySaveCommand addExceptionTranslator(ExceptionTranslator> translator);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy