日期:2014-05-19  浏览次数:20636 次

Hibernate 映射中的集合,查询时怎么控制集合数据量
现在有A类 和B类

A.Set<b> b;

查询A时,每条A中的集合B控制数量为5条.

这时应该怎么做呢.


求支招 .
------最佳解决方案--------------------
要么查询出来在显示的时候、控制只显示5条后面的就不显示了!
要么就自己写查询了.....
------其他解决方案--------------------
控制5条,是只查出5条还是只显示5条,还得考虑以什么标准来限定这5条
------其他解决方案--------------------
用Hibernate好想没办反做到哟,除非你用纯SQL语句。
------其他解决方案--------------------
首先全部取出来 然后遍历的时候设置一下条件就行,直接写HQL 麻烦性能也不会提高。
------其他解决方案--------------------
引用:
现在有A类 和B类

A.Set<b> b;

查询A时,每条A中的集合B控制数量为5条.

这时应该怎么做呢.


求支招 .


写两个查询方法。

你这么做的意义是什么?
------其他解决方案--------------------
当然,如果你通过查询A类去关联出B,即直接查询B,可以使用分页查询,MySQL的数据库是支持的,其他的就没试过了。
------其他解决方案--------------------
查询的时候,代码实现
------其他解决方案--------------------
引用:
引用:
可以写个HQL的例子吗,大大们

Session.CreateQuery("select b from A").SetMaxResults(5).List();

大致是这样的吧,具体query和一些细节需要你去调整

正解
------其他解决方案--------------------
引用:
引用:引用:
可以写个HQL的例子吗,大大们

Session.CreateQuery("select b from A").SetMaxResults(5).List();

大致是这样的吧,具体query和一些细节需要你去调整
正解
+1
------其他解决方案--------------------
引用:
控制5条,是只查出5条还是只显示5条,还得考虑以什么标准来限定这5条

是只查询出5条。
------其他解决方案--------------------
可以写个HQL的例子吗,大大们
------其他解决方案--------------------
引用:
可以写个HQL的例子吗,大大们


Session.CreateQuery("select b from A").SetMaxResults(5).List();

大致是这样的吧,具体query和一些细节需要你去调整
------其他解决方案--------------------
引用:
引用:
现在有A类 和B类

A.Set<b> b;

查询A时,每条A中的集合B控制数量为5条.

这时应该怎么做呢.


求支招 .

写两个查询方法。

你这么做的意义是什么?


因为我用from A;这个语句查询出List<A>的时候,也需要取出A.set<B> 但是B的数量过于庞大的话,是不是会很糟糕呢.貌似直接通过HQL搞不定的说.
------其他解决方案--------------------
引用:
引用:
可以写个HQL的例子吗,大大们

Session.CreateQuery("select b from A").SetMaxResults(5).List();

大致是这样的吧,具体query和一些细节需要你去调整

这个只是List<A> 这个结果集的记录条数的嘛,,我想要A.set<B> set中,B的记录如果为1W条,但是我只要5条.话说,我也不想研究了,就写两个查询了
------其他解决方案--------------------
谢谢大家热心解答哈
结了
------其他解决方案--------------------
引用:
这个只是List<A> 这个结果集的记录条数的嘛,,我想要A.set<B> set中,B的记录如果为1W条,但是我只要5条.话说,我也不想研究了,就写两个查询了