package jef.database.annotation;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
/**
* 关于连接(外键)的描述,可以设置为全外连接,还可以自定义join过滤条件
* @author jiyi
*
*/
@Target(FIELD)
@Retention(RUNTIME)
public @interface JoinDescription {
/**
* 连接属性
* @return
*/
JoinType type() default JoinType.LEFT;
/**
* 可以设定连接ON条件中的过滤条件
* <br>
* 1.10版本后,可以使用 this$ that$来指代当前表的字段和右侧表的字段。例如——
* this$dictType+'.GENDER'=that$type
* 但这种用法限制要求外连接查询时使用。仅供特例使用,一般用户请勿使用此功能。
* @return
*/
String filterCondition() default "";
/**
* 当对多连接时,限制结果记录数最大值
* @return
*/
int maxRows() default 0;
}