请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于JPA分页2

一哥我又来了:
比如我有 student表和user表,student中有个user_id, 然后现在有个分页需求,分页查询student就好,但是条件是根据用户名称来搜索。
正常的SQL为 select a.* from student a , user b where a.user_id = b.id and b.name = ‘张三’ limit x,y; 这样的联表查询。
我在想用JPA实现这样的需求,问题如下:
1.如果在不冗余 student的name字段情况下,是否就必须自定义SQL语句来查询了?
2.如果我冗余了name字段,那么user表的name更改就需要维护student的name对吧,如果有很多表都冗余了user的name 那如何才能做到优雅的去维护冗余的name呢?

正在回答 回答被采纳积分+3

1回答

张勤一 2020-09-14 11:37:46

七十亿兄你好:

    1. 如果确实没有冗余 name,那么,只有两种情况可以实现:自定义 SQL 语句(Mapper 也需要自己来写了),或者就是分开查询,然后自己去做手动的分页(很多情况下,我就是自己去做手动分页,也很简单,难度不大)

    2. 如果冗余了 name,那么查询就变得很简单了。这样带来的问题就是违反了范式,那么,维护起来不方便是必然的了。不过,这个也不是问题,简单的增删改就可以解决问题,我个人觉得,问题不大。


    我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!

1 回复 有任何疑惑可以回复我~

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信