您好 我最近使用jeesite时碰到个奇怪的问题 求大神帮助来了
由于最近用jeesite整合pg流程,代码结构和适配做了些微调,但业务逻辑没有变化.
我在整合过程中,通过"代码生成器(gen)"的"业务表添加"把test_data添加后,发现不能在"业务表列表"中针对表记录直接删除.看了下后台日志,发现
..\GenTableColumnDao.xml中的:
UPDATE gen_table_column SET
del_flag = #{DEL_FLAG_DELETE}
WHERE gen_table_id = #{genTable.id}
这段sql在后台maper后执行时,传入了两个id参数,
并且他们的值都相同,而且等于genTable.id的取值.
也就是说DEL_FLAG_DELETE的真实取值没有被传入,而被传递成genTable.id.
由于del_flag的长度是char(1),从而造成字段超过长度,导致后台报错.
可是同样是该文件中的语句:
UPDATE gen_table_column SET
del_flag = #{DEL_FLAG_DELETE}
WHERE id = #{id}
这段sql在后台maper后执行时,也传入了两个参数,
并且DEL_FLAG_DELETE可以传入正常的值1.
而这个delete和deleteByGenTableId又是在GenTableService.java中被同时触发的:
@Transactional(readOnly = false)
public void delete(GenTable genTable) {
genTableDao.delete(genTable);
genTableColumnDao.deleteByGenTableId(genTable.getId());
}
所以我就不知道这个问题出在哪里了.劳烦大神帮我看看这个问题应该怎么解决?
ps:这里好像没有附件引用,如果需要log我再另发把,谢谢了.
ps:没找到同步github的方法,该issue我手工同步一下,处理结束后手工再手工删除把.