一、该问题的重现步骤是什么?
1. 后端test自动生成代码CodeGenerator.java,配置了各项参数,字段这里去除了create_dept,status两个字段。
public static String[] SUPER_ENTITY_COLUMNS = {"id", "create_time", "create_user", "update_time", "update_user", "is_deleted"};
2. 然后自动生成了后台,点击查询页面的时候报错了。提示没有create_dept字段。这个是怎么产生的?
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'create_dept' in 'field list' ### The error may exist in org/springblade/xxxx/mapper/xxxMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT id, ...create_dept, ... status, is_deleted FROM xxx WHERE is_deleted = 0 LIMIT ?,? ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'create_dept' in 'field list' ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Unknown column 'create_dept' in 'field list'
二、你期待的结果是什么?实际看到的又是什么?
这种自动生成的代码怎么看包含的列?通用查询映射结果也没有该列。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
采用springboot的框架,win10
四、请提供详细的错误堆栈信息,这很重要。
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'create_dept' in 'field list' ### The error may exist in org/springblade/xxxx/mapper/xxxMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT id, ...create_dept, ... status, is_deleted FROM xxx WHERE is_deleted = 0 LIMIT ?,? ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'create_dept' in 'field list' ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Unknown column 'create_dept' in 'field list'
五、若有更多详细信息,请在下面提供。
代码生成器的生成的代码实体会继承BaseEntity或者TenantEntity,表结构需要包含这些实体的基础字段。
public class BaseEntity implements Serializable {
/**
* 主键id
*/
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "主键id")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
/**
* 创建人
*/
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "创建人")
private Long createUser;
/**
* 创建部门
*/
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "创建部门")
private Long createDept;
/**
* 创建时间
*/
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新人
*/
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "更新人")
private Long updateUser;
/**
* 更新时间
*/
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 状态[1:正常]
*/
@ApiModelProperty(value = "业务状态")
private Integer status;
/**
* 状态[0:未删除,1:删除]
*/
@TableLogic
@ApiModelProperty(value = "是否已删除")
private Integer isDeleted;
}
public class TenantEntity extends BaseEntity {
/**
* 租户ID
*/
@ApiModelProperty(value = "租户ID")
private String tenantId;
}
也就是说这些字段如果要用就必须要所有的字段么?不用就自己写字段
扫一扫访问 Blade技术社区 移动端