关于使用sharding分表后@ShardingDS注解查询问题

Blade 已结 2 276
whh
whh 剑侠 2025-01-15 17:07

一、该问题的重现步骤是什么?

  1. 在impl类中定义方法并且添加@ShardingDS,在方法中调用mapper继承的方法(如list)查询时为按照分表查询,

    PointDeviceEntity已分表

    image.png

2. 使用@ShardingDS给方法注解能实现分表,但如果需要当前实体类所有业务都进行分类操作时使用@ShardingDS是否太过瘾频繁,

并且如问题1中有部分都是框架默认的方法这种又如何处理?

3.


二、你期待的结果是什么?实际看到的又是什么?

  1. 关于继承的方法无法分表查询如何处理

  2. 对应进行分表的业务是否都需要使用@ShardingDS才能分表操作?有无其他统一配置

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

boot版  3.4.0   Win10

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  •  admin
    admin (最佳回答者)
    2025-01-15 17:14

    @ShardingDS注解放到service类上后,这个service的所有操作都会自动分库分表了。

    另外请给我们邮箱:bladejava@qq.com 发一个邮件提供授权公司名,登记为商业账号后方可进行商业版问题答疑。

    作者追问:2025-01-15 17:14

    @ShardingDS注解放到service类上后报错报红

    0 讨论(1)
  • 2025-01-16 14:36

    @ShardingDS注解直接引用service类上后报错报红,麻烦给个完好的示例

    作者追问:2025-01-16 20:40

    具体报什么错

    回答: 2025-01-21 16:23

    提示Remove 删除。

    所有现在是写在方法上就没有问题

    image.png

    作者追问:2025-01-21 16:24

    我这边不会报错,你点进去看看这个注解是怎么定义的,看看有没有 ElementType.TYPE

    CleanShot20250121162403@2x.png

    CleanShot20250121162421@2x.png

    回答: 2025-01-21 16:38

    这是我的

    image.png

    作者追问:2025-01-21 16:45

    下载对应版本的BladeX-Tool,然后加上type,再install刷新依赖就行了。历史版本这里找:https://center.javablade.com/blade/BladeX/releases


    回答: 2025-01-22 14:15

    BladeX-Tool这个要怎么用?我的是boot版直接引到jar呀

    作者追问:2025-01-22 14:17

    Tool工程编译觉得麻烦的话,不然你直接用 @DS("sharding") 注解也一样的效果

    0 讨论(0)
代码语言
提交回复