Comments (4)
由于有3张表关联, 最左表生成的sql没 is_deleted变deleted, 但is_deleted有时生成的会没掉, 大部分时候是正确的。
这张表会在 diboot的 DynamicSqlProvider.buildDynamicSql加入is_deleted.
以下是3种不同的生成sql.
SELECT self.*
FROM tbl_purchase_form_plan self
LEFT OUTER JOIN tbl_purchase_rel_plan_goods r1m ON self.purchase_form_plan_id = r1m.purchase_form_plan_id
LEFT OUTER JOIN tbl_goods_goods_info r1 ON r1m.goods_id = r1.goods_id
WHERE (r1.goods_nm = ?)
SELECT self.*
FROM tbl_purchase_form_plan self
LEFT OUTER JOIN tbl_purchase_rel_plan_goods r1m ON self.purchase_form_plan_id = r1m.purchase_form_plan_id AND r1m.is_deleted = 0
LEFT OUTER JOIN tbl_goods_goods_info r1 ON r1m.goods_id = r1.goods_id
WHERE (r1.goods_nm = ?)
SELECT self.*
FROM tbl_purchase_form_plan self
LEFT OUTER JOIN tbl_purchase_rel_plan_goods r1m ON self.purchase_form_plan_id = r1m.purchase_form_plan_id AND r1m.is_deleted = 0
LEFT OUTER JOIN tbl_goods_goods_info r1 ON r1m.goods_id = r1.goods_id
WHERE (r1.goods_nm = ? AND self.is_deleted = 0)
from diboot.
之前是junit test上测,会出现这种不稳定随机出错现象。
今天放到服务器启动后的controller中测试,一直正常,没测出错误来。
junit中依然随机出错,由于不了解原因,所以也不敢保证说非junit中必然不会出错。
期待作者能找出原因。
PS:目前市面上看下来两表n对n的,你们的方案最优雅~
from diboot.
谢谢反馈,下个版本发布前我们会核实一下这个问题
from diboot.
BindQuery动态SQL构建中对于逻辑删除字段的处理已优化,经过单元测试验证该问题已解决,等待下次版本发布。
from diboot.
Related Issues (20)
- 上传文件失效 HOT 3
- 后台创建新用户,第一次登陆进来404 HOT 1
- 使用BindEntityList中间表关联查询数据被覆盖问题 HOT 1
- is_deleted, update_time , create_time等字段是否能自定义? HOT 1
- entity中如果有localdatetime在copyproperty会失败 HOT 2
- 新项目,默认用户表无法新建用户,没有进接口直接抛出NPE
- 获取对象属性值出错,返回null HOT 2
- BaseCrudRestController#getViewObjectList 无法有效过滤字段
- BindField的字段无法从Timestamp转为LocalDateTime HOT 4
- Binder.convertAndBindRelations 对象超过三层嵌套无法生效 diboot版本2.6spring版本2.5 HOT 1
- [建议]关于远程绑定RemoteBindingManager的改进 HOT 2
- [建议] 前端增加Vue3版本 HOT 1
- [建议] 关于老项目接入diboot HOT 2
- [diboot 新手训练营]构建报错 HOT 1
- Get 请求 String2LocalDateTimeConverter 字符串转换器报错 HOT 1
- 关于查询结果返回联表+字典翻译 HOT 2
- BindCount bug HOT 2
- 为什么不支持拓展用户表 HOT 1
- bindcount问题 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from diboot.