org.babyfish.jimmer.sql.ast.table.Props Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jimmer-sql Show documentation
Show all versions of jimmer-sql Show documentation
A revolutionary ORM framework for both java and kotlin
package org.babyfish.jimmer.sql.ast.table;
import org.babyfish.jimmer.meta.ImmutableProp;
import org.babyfish.jimmer.meta.ImmutableType;
import org.babyfish.jimmer.meta.PropId;
import org.babyfish.jimmer.meta.TypedProp;
import org.babyfish.jimmer.sql.JoinType;
import org.babyfish.jimmer.sql.ast.Predicate;
import org.babyfish.jimmer.sql.ast.PropExpression;
import java.util.function.Function;
/**
* Used by mapped super class
*
* 1. It is super class of {@link Table}
* 2. It must be decorated by {@link PropsFor}
*/
public interface Props {
ImmutableType getImmutableType();
PropExpression get(ImmutableProp prop);
PropExpression get(String prop);
PropExpression getId();
PropExpression getAssociatedId(ImmutableProp prop);
PropExpression getAssociatedId(String prop);
> XT join(ImmutableProp prop);
> XT join(String prop);
> XT join(ImmutableProp prop, JoinType joinType);
> XT join(String prop, JoinType joinType);
> XT join(ImmutableProp prop, JoinType joinType, ImmutableType treatedAs);
> XT join(String prop, JoinType joinType, ImmutableType treatedAs);
PropExpression inverseGetAssociatedId(ImmutableProp prop);
> XT inverseJoin(ImmutableProp prop);
> XT inverseJoin(ImmutableProp prop, JoinType joinType);
> XT inverseJoin(TypedProp.Association, ?> prop);
> XT inverseJoin(TypedProp.Association, ?> prop, JoinType joinType);
> XT inverseJoin(
Class targetTableType,
Function> backPropBlock
);
> XT inverseJoin(
Class targetTableType,
Function> backPropBlock,
JoinType joinType
);
> Predicate exists(String prop, Function block);
> Predicate exists(ImmutableProp prop, Function block);
}