-
Notifications
You must be signed in to change notification settings - Fork 115
[Feature Request] - Let ManyToManyView support recursion #935
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
是否考虑使用 |
我一直是当让ManyToManyView支持递归来理解的 |
无论如何,不可能一表多映的。因为Jimmer是支持【触发器】的,任何binlog事件推送归来,都应该只有一种解释,而不是无穷钟解释,这个异常也防御这种问题。 |
我不知道题主 @zzxzz12345 的问题和我想的是否一样:如何使用 jimmer 实现以某个 Product 为根,递归查询所有子产品的物料清单? 如果 所以,我的一个想法是,先通过 Product 和 BOM 的一对多关联查询 BOM 获取子产品和 nums 属性,然后继续通过一对多关联查询 BOM...,变成了递归查询。 让我用 Fetcher 来描述一下(伪代码): ProductFetcher.$
.name()
.bomList(// Product 与 BOM “一对多” mappedBy = "parentProduct"
BOMFetcher.$
.nums()
// BOM 与 Product “多对一”
.componentProduct(ctx ->
ctx.recursiveRoot()
)
) 照这样分析,似乎这个问题的关键是:如何实现这种通过间接的自关联而不是直接的自关联属性定义的递归查询 如果我的理解有误,希望能得到指教🙏🏻,谢谢 |
不需要直接从product上获取nums属性,因为product本身还可以在声明一个one to one的结构来支持,但是目前看上只有ManyToMany和OneToMany能生成递归结构的api,ManyToManyView似乎不会触发
![]() ![]() ![]() |
@zzxzz12345 谢谢你的回复,目前 除此之外,如果使用 |
这里是临时代码写的有点问题,主要还是如果不支持递归就需要自己去写递归遍历数据了 |
Reason
目前erp产品里有这样一种关系
Product 产品,和BOM呈一对一关系
BOM,维护Product产品的关联关系以及product的相对数量
这两个表都是基础表
如果想做bom的递归查询,就需要有这样的一组结构
但是这种情况下如果bom上也声明了@table
就会出现报错
Description
虽然目前通过创建一个view绕过去了,但是理论上一个表能同时为中间表和基础表
Existing solutions
No response
The text was updated successfully, but these errors were encountered: