模块 org.redkale

注释类型 FilterJoinColumn


  • @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
    • 元素详细资料

      • 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
        备注描述
        返回:
        备注描述
        默认值:
        ""