hibernate 的查询问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 15:11:11
MySql
User表 userId 主键
Main表 mainId 主键 main_userId 外键
follow表 followId 主键 follow_userId 外键
hibernate
一端<set .. cascade="all"> 已配
多端<many-to-one cascade="save-update">已配
现在要根据 userId查询mainId的总数 和 followId的总数..
? = createQuery(?);
语句怎么写..
怎么返回接收.. 运行正确再送100分...

select size(u.mains), size(u.follows) from User u where u.id=?

试试这样的

如果成功,返回的是一个数组,object[],长度为2

可以转为Integer型,分别代表两个长度

呵呵。。。厉害。。。

既然已经有关联。你可以试一试下面的思路。
获得一个user对象的实体对象
User user=(User)session.get(User.class,id);//这个是获得一个实体的主键对应的实体。
然后
int i=user.getMains().size();//main的总数
int j=user.getFollows().size();//follows的总数

i和j就是你要的了。

自从做完多对多,我看见它就头疼~

第一楼的可以