Hibernate 映射中的集合,查询时怎么控制集合数据量
现在有A类 和B类
A.Set<b> b;
查询A时,每条A中的集合B控制数量为5条.
这时应该怎么做呢.
求支招 .
------最佳解决方案--------------------要么查询出来在显示的时候、控制只显示5条后面的就不显示了!
要么就自己写查询了.....
------其他解决方案--------------------控制5条,是只查出5条还是只显示5条,还得考虑以什么标准来限定这5条
------其他解决方案--------------------用Hibernate好想没办反做到哟,除非你用纯SQL语句。
------其他解决方案--------------------首先全部取出来 然后遍历的时候设置一下条件就行,直接写HQL 麻烦性能也不会提高。
------其他解决方案--------------------
写两个查询方法。
你这么做的意义是什么?
------其他解决方案--------------------当然,如果你通过查询A类去关联出B,即直接查询B,可以使用分页查询,MySQL的数据库是支持的,其他的就没试过了。
------其他解决方案--------------------查询的时候,代码实现
------其他解决方案--------------------
正解
------其他解决方案--------------------+1
------其他解决方案--------------------
是只查询出5条。
------其他解决方案--------------------可以写个HQL的例子吗,大大们
------其他解决方案--------------------
Session.CreateQuery("select b from A").SetMaxResults(5).List();
大致是这样的吧,具体query和一些细节需要你去调整
------其他解决方案--------------------
因为我用from A;这个语句查询出List<A>的时候,也需要取出A.set<B> 但是B的数量过于庞大的话,是不是会很糟糕呢.貌似直接通过HQL搞不定的说.
------其他解决方案--------------------
这个只是List<A> 这个结果集的记录条数的嘛,,我想要A.set<B> set中,B的记录如果为1W条,但是我只要5条.话说,我也不想研究了,就写两个查询了
------其他解决方案--------------------谢谢大家热心解答哈
结了
------其他解决方案--------------------