加入休眠标准时的分页问题

拉姆库马尔

我想在多个表加入条件后进行分页。

问题是:

当我加入表时生成的重复记录。分页应用于记录集(重复)。

我使用此标准。setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 删除重复的记录。

例如:通常,应用删除重复后,我会得到10条记录。当我将开始索引设置为1并将结束索引设置为5时,我应该获得5条记录,但是它返回2或3(大约)。这取决于加入。

请帮帮我。

拉迪姆·科勒

这里的问题在于蜂鸣应用了两种不同的技术。

  • 首先,在数据库服务器上正确应用了分页。它将返回预期的行数(例如5)。
  • 第二部分是应用程序部分,在该部分,Hibernate会从这5条记录中选择DISTINCT值。

因此,如果实际上有2行加倍,另加1行,则转换将导致3个对象。

正确的(也许是最好的)方法(如何避免这种情况)是不使用对集合的获取。如果需要显示集合,则应延迟加载(例如,使用批处理大小以减少选择数量)

如果我们需要将集合用作过滤器,则应将其转换为subquery,然后使用IN(Subquery)子句再次对根实体进行分页

想象一下,父表:

ParentId, Code
1       , 'P1' 
2       , 'P2'
3       , 'P3'

子表:

ChildId , Code , ParentId
1       , 'C1' , 1
2       , 'C2' , 1
3       , 'C3' , 2
4       , 'C4' , 2
5       , 'C5' , 3

如果我们要求Parent加入并加入Child收藏,我们将

  1. 在数据库服务器上收到5行,
  2. 在应用程序级别将仅转换为3个不同的父对象

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用休眠标准时搜索结果中的额外实体

来自分类Dev

将标准时间转换为传统时间

来自分类Dev

“ GMT标准时间”是否暗示BST?

来自分类Dev

当图像尺寸大于最小标准时拖动图像

来自分类Dev

生成范围标准时类型不匹配

来自分类Dev

格林威治标准时间

来自分类Dev

当某物是“ X. *”标准时,“ X. *”代表什么?

来自分类Dev

尝试在 GHDL 中指定 VHDL 标准时出错

来自分类Dev

.NET 4.6.2 中的萨摩亚标准时间 (SST)

来自分类Dev

以世界标准时间和标准时间打印时间和日期

来自分类Dev

休眠标准加入无关的孩子?

来自分类Dev

休眠标准加入无关的孩子?

来自分类Dev

如何将时间从格林尼治标准时间转换为美国东部标准时间

来自分类Dev

如何从时区名称(美国东部标准时间/印度标准时间)获取时区偏移量?

来自分类Dev

如何在Django中添加印度标准时间(IST)?

来自分类Dev

将人类可读的日期转换为格林尼治标准时间

来自分类Dev

为什么将本地时间转换为格林尼治标准时间?

来自分类Dev

为什么此日期未在格林尼治标准时间显示?

来自分类Dev

Android:获取格林尼治标准时间+的时间(所需数字)

来自分类Dev

将基于格林尼治标准时间的时间转换为UTC python

来自分类Dev

在R中以小时和分钟将军事时间转换为标准时间

来自分类Dev

在JavaScript中将军事时间转换为标准时间的最佳方法

来自分类Dev

如何将军事时间整数转换为标准时间字符串

来自分类Dev

如何在Rails视图中显示中央标准时间(CST)?

来自分类Dev

在Mac上使用FindTimeZoneById()c#时缺少“山区标准时间”时区

来自分类Dev

在R中,如何自动检测首次出现非标准时差的位置?

来自分类Dev

如何将格式更改为标准时间JavaScript

来自分类Dev

格林尼治标准时间到本地时间的转换错误,UIKIT迅速

来自分类Dev

使用Moment使用Electron / NodeJS将标准时间格式化为ISO 8601

Related 相关文章

  1. 1

    使用休眠标准时搜索结果中的额外实体

  2. 2

    将标准时间转换为传统时间

  3. 3

    “ GMT标准时间”是否暗示BST?

  4. 4

    当图像尺寸大于最小标准时拖动图像

  5. 5

    生成范围标准时类型不匹配

  6. 6

    格林威治标准时间

  7. 7

    当某物是“ X. *”标准时,“ X. *”代表什么?

  8. 8

    尝试在 GHDL 中指定 VHDL 标准时出错

  9. 9

    .NET 4.6.2 中的萨摩亚标准时间 (SST)

  10. 10

    以世界标准时间和标准时间打印时间和日期

  11. 11

    休眠标准加入无关的孩子?

  12. 12

    休眠标准加入无关的孩子?

  13. 13

    如何将时间从格林尼治标准时间转换为美国东部标准时间

  14. 14

    如何从时区名称(美国东部标准时间/印度标准时间)获取时区偏移量?

  15. 15

    如何在Django中添加印度标准时间(IST)?

  16. 16

    将人类可读的日期转换为格林尼治标准时间

  17. 17

    为什么将本地时间转换为格林尼治标准时间?

  18. 18

    为什么此日期未在格林尼治标准时间显示?

  19. 19

    Android:获取格林尼治标准时间+的时间(所需数字)

  20. 20

    将基于格林尼治标准时间的时间转换为UTC python

  21. 21

    在R中以小时和分钟将军事时间转换为标准时间

  22. 22

    在JavaScript中将军事时间转换为标准时间的最佳方法

  23. 23

    如何将军事时间整数转换为标准时间字符串

  24. 24

    如何在Rails视图中显示中央标准时间(CST)?

  25. 25

    在Mac上使用FindTimeZoneById()c#时缺少“山区标准时间”时区

  26. 26

    在R中,如何自动检测首次出现非标准时差的位置?

  27. 27

    如何将格式更改为标准时间JavaScript

  28. 28

    格林尼治标准时间到本地时间的转换错误,UIKIT迅速

  29. 29

    使用Moment使用Electron / NodeJS将标准时间格式化为ISO 8601

热门标签

归档