3.9K Star 18.4K Fork 5.3K

卓源软件 / JeeSite 4.x and 5.x

 / 详情

从表的findList过滤条件失效

已完成
创建于  
2019-06-29 17:29

主表类:TgSeries
从表类:ThModel
主从关关系: thModel.fhSeries -> tgSeries.fgSeries, 也就是 @Column(name="fh_series", attrName="fhSeries.fgSeries", label="fh_series", isUpdate=false, isQuery=false)

(注意,默认生成的代码关联的外键是主表的id,这应该是个小bug? 我将其改为fhSeries关联主表的fgSeries)

执行这段代码生成器生成的代码:

/**
	 * 获取单条数据
	 * @param tgSeries
	 * @return
	 */
	@Override
	public TgSeries get(TgSeries tgSeries) {
		TgSeries entity = super.get(tgSeries);
		if (entity != null){
			ThModel thModel = new ThModel(entity);
			thModel.setStatus(ThModel.STATUS_NORMAL);
			entity.setThModelList(thModelDao.findList(thModel));
		}
		return entity;
	}

发现SelectSqlProvider的findList并没能生成带where的sql:
SELECT a.id AS "id", a.fh_series AS "fhSeries.fgSeries", a.fh_model AS "fhModel", .... a.create_date AS "createDate" FROM th_model a ORDER BY a.create_date ASC
生成的sql居然没有where .

评论 (2)

tigerA15 创建了任务

修改成标准的做法, 在从表增加fh_tg_id对应主表的id,
ALTER TABLE th_model ADD COLUMN fh_tg_id character varying(64);
重新生成代码后,主从表编辑检索都没问题,但若将从表的status改为disable, 那上面反映的这个问题还是没解决, 无论你findList前对从表设置了什么过滤条件, 都会失效.
输入图片说明

isQuery=false 是不允许作为查询条件的,可以吧这个设置为 true

卓源软件 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
6732 thinkgem 1651893329
Java
1
https://gitee.com/thinkgem/jeesite4.git
git@gitee.com:thinkgem/jeesite4.git
thinkgem
jeesite4
JeeSite 4.x and 5.x

搜索帮助