@Join
标记连表字段
属性名称 | 注释 |
---|---|
leftTable | 可选值,默认值为当前标注字段的类型 |
leftJoinField | 可选值,默认值为 id 或关联实体中指定的主键字段 |
leftSelectFields | 可选值,默认值为关联实体的所有基础属性 |
rightTable | 可选值,默认值为当前实体类 |
rightJoinField | 连表必填值,指定关联属性名称。例:left join leftTable on leftTable.id = rightTable.rightJoinField |
indirectJoinField | 可选值,用于精确指定间接关联字段;用于存在多个可能匹配字段的情况 |
joinType | 可选值,默认值为 left |
joinCondition | 可选值,默认值为 = |
infix | 可选值,默认值为 Model |
comment | 可选值 |
package com.test.model;
import com.wangshu.annotation.*;
import com.wangshu.base.model.BaseModel;
import com.wangshu.enu.Condition;
import com.wangshu.enu.DataBaseType;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Data
@Model(title = "文章", modelDefaultKeyword = "title", dataBaseType = DataBaseType.mysql)
public class Article extends BaseModel {
@Column
@Primary
private String id;
// 一对一,left join User on User.id = Article.uid
@Join(rightJoinField = "uid")
private User user;
// 一对一
@Join(rightJoinField = "groupId")
private ArticleGroup articleGroup;
// 一对多,不建议使用,最好单独查
@Join(leftJoinField = "articleId")
private List<ArticleTag> articleTagList;
}