使用带有规范和分页的Eclipse Link JPA 2.5.2,我对Oracle ROWNUM的执行方式有问题。Eclipse Link生成的查询如下:
SELECT *
FROM (SELECT a.*,
ROWNUM rnum
FROM (SELECT t0.ID,
t0.participantidentity_id,
t0.submitteddate
FROM delegation t4,
meeting t3,
meetinggroup t2,
participantidentity t1,
reimbursement t0,
userdata ud
WHERE t0.current_id IS NULL
AND t1.activeparticipant_id IS NOT NULL
AND t2.responsibleservice_id IN (74)
AND t1.ID = t0.participantidentity_id
AND t4.ID = t1.delegation_id
AND t3.ID = t4.meeting_id
AND t2.ID = t3.meetinggroup_id
AND t1.userdata_id = ud.ID
ORDER BY t0.submitteddate ASC) a
WHERE ROWNUM <= 25)
WHERE rnum > 0
为第一页运行该查询应返回0到25之间的行,为第二页运行相同的查询应返回25到50之间的行。
问题是第一页的记录也出现在第二页,我猜是因为submitteddate可以包含NULL值并且ORDER BY子句在ROWNUM和rnum条件或类似的东西之前没有应用,我不确定,因为我现在有点困惑...
谁能解释一下原因吗?
谢啦!
我根据上面的场景做了一些测试--
CREATE TABLE T3(AA NUMBER(10),BB NUMBER(10),CC NUMBER(10),DD NUMBER(10));
INSERT INTO T3 VALUES (1,2,3,null);
INSERT INTO T3 VALUES (4,5,6,13);
INSERT INTO T3 VALUES (7,8,9,NULL);
INSERT INTO T3 VALUES (10,11,12,14);
然后--
SELECT *
FROM
(SELECT
a.*,
rownum rnum
FROM
(SELECT aa AS a1,
bb AS a2,
CC AS A3,
dd as a4
FROM T3
ORDER BY DD ASC) A
WHERE ROWNUM <= 2
)
WHERE rnum > 0;
此测试永远不会返回重复项。
所以请执行您下面的查询
SELECT t0.ID,
t0.participantidentity_id,
t0.submitteddate
FROM delegation t4,
meeting t3,
meetinggroup t2,
participantidentity t1,
reimbursement t0,
userdata ud
WHERE t0.current_id IS NULL
AND t1.activeparticipant_id IS NOT NULL
AND t2.responsibleservice_id IN (74)
AND t1.ID = t0.participantidentity_id
AND t4.ID = t1.delegation_id
AND t3.ID = t4.meeting_id
AND t2.ID = t3.meetinggroup_id
AND t1.userdata_id = ud.ID
ORDER BY t0.submitteddate ASC
并检查是否有任何副本。
此外,尝试在sql开头使用distinct关键字,如选择distinct t0。ID
问题内容: 我有一个问题,我无法解决。在hibernate状态下,我没有以下问题: 然后在我的schema.ddl中,我有这个: 这里没什么可看的。一切正常。但是,如果我将提供程序切换到EclipseLink,则会出现此错误: 因此,我当然会四处搜索,如果初始值为1且它应该等于分配大小,那么我会看到有关EclipseLink创建负数的一些信息。 因此,好的,因此添加“ initialValue =
EclipseLink有可能和夸库斯一起使用吗?还是夸库斯太难与Hibernate耦合了? 我们正在选择我们的MP实现的过程中,我们希望尽可能接近参考信息 我在https://quarkus.io/guides/甚至这个论坛上都没有看到太多信息来表明eclipselink也可以与Quarkus一起使用。 任何关于夸库斯为什么与JPA的一个特定的impl(如果是的话)绑得如此紧密的指示也将是受欢迎的
我可以使用Hibernate,但我正在尝试更改为Eclipselink。我一直在寻找解决办法,但没有结果。人们建议把这两个(不是放在一起) persitence.xml 应用程序-context.xml 错误
我正在将一个旧的IBM Process Server应用程序移植到IBM WebSphere Liberty。它包含大量基于服务数据对象(SDO)的代码。我有一些很好的工作代码,作为独立的Java运行,使用JDK8。我使用的是eclipselink 2.7.7,特别是两个jar文件; 我已经将此代码构建到一个Servlet中以处理SOAP请求,并将其与其他代码一起打包到一个EAR文件中,我将其部署
RSS功能 Django是一个全面型框架, 很多功能都可以直接找到, 对于RSS功能, 可以从其中的高层框架的聚合Feed框架中找到(The syndication feed framework) 上层Feed生成框架可以直接应用Feed类, 我们可以直接继承Feed在其中定义自己的方法 在my_blog/article/views.py中定义类 from django.contrib.s
分页: 用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了离散分配。 分段: 将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配。 分页与分段的主要区别 页是信息的物理单位,分页是为了实现非连续分配