如果我有一张user表,还有一张topic表,user表中有引用了topic表的主键作为外键,我现在要通过user的id来查询出该用户的所有信息及该用户发表的topic的所有信息,在返回的时候怎么返回呢?是List<User> 还是?因为这里面应该包含两张表的信息。
1.用hibernate 怎么查询,返回的是什么类型list
2.假如一个表的查询我可以用id=user ;<s:property user.name>输出,但这个怎么写啊!hibernate真让我困惑

解决方案 »

  1.   

    你这表设计的有问题吧     该用户发表的topic的所有信息 是多条还是单条?
    多条的话是不是在topic里放user的主键,但是你在user里引用了topic的主键,说明topic只是user的一个附属的属性,这些都木弄明白   怎么解答??
      

  2.   

    查询两次不可以么?一次查user表,一次查topic表。
      

  3.   

    我说的是复杂查询后得到的list放入哪个Dao中,前提是多对多的表
      

  4.   

    多对多都是产生第三张表,通过在Hibernate的映射文件中指定两个表间的关联后,在得到某个表的po的同时而得到另一个关联表的po,因为Hibernate会自动帮我们实现两个表的联合查询。
      

  5.   

    我问的是查询后得到的list存入哪个dao中!这个通常这个查询是用两表关联查询吗?请举例吧,我看不明白
      

  6.   

    查2次就不要用Hiernate了。 直接查User表,一句话:select * from user; 既然外键在user表那么在外键上设置fetchtyp=earger. 这样什么都出来了。
      

  7.   

    如果使用hibernate,那user里面可以有一个set集合 ,里面装的就是topic,然后设置延迟查询 ,就可以在查询user的时候 把相对应的topic的信息查出来了