-
@Documented @Target(FIELD) @Retention(RUNTIME) public @interface FilterJoinColumn
关联表过滤条件
关联关系表必须含主表, 不能是主表A关联表B,表B再关联表C,只能是主表A关联表B,主表A关联表C
详情见: https://redkale.org
- 作者:
- zhangjx
- 另请参阅:
FilterBean
,FilterNode
-
-
必需元素概要
所需元素 修饰符和类型 必需的元素 说明 String[]
columns
多个关联字段, 默认使用join表(b)的主键, join表与被join表(a)的字段必须一样
例如: SELECT a.* FROM user a INNER JOIN orderinfo b ON a.userid = b.userid AND a.usertype = b.usertype
那么注解为: @FilterJoinColumn(table = OrderInfo.class, columns = {"userid", "usertype"})Class
table
关联表 通常join表默认别名为b/c/d/...自增, 被join表默认别名为a
-
可选元素概要
可选元素 修饰符和类型 可选元素 说明 String
comment
备注描述FilterJoinType
type
join类别
-
-
-
元素详细资料
-
table
Class table
关联表 通常join表默认别名为b/c/d/...自增, 被join表默认别名为a- 返回:
- 关联表
-
-
-
columns
String[] columns
多个关联字段, 默认使用join表(b)的主键, join表与被join表(a)的字段必须一样
例如: SELECT a.* FROM user a INNER JOIN orderinfo b ON a.userid = b.userid AND a.usertype = b.usertype
那么注解为: @FilterJoinColumn(table = OrderInfo.class, columns = {"userid", "usertype"})
columns中的字段名如果不一致,可以将两个字段名用=连接成一个字段名
例如: SELECT a.* FROM user a INNER JOIN orderinfo b ON a.userid = b.buyerid AND a.usertype = b.usertype
那么注解为: @FilterJoinColumn(table = OrderInfo.class, columns = {"userid=buyerid", "usertype"})- 返回:
- 关联字段
-
-
-
type
FilterJoinType type
join类别- 返回:
- join类别
- 默认值:
- org.redkale.source.FilterJoinType.INNER
-
-
-
comment
String comment
备注描述- 返回:
- 备注描述
- 默认值:
- ""
-
-