用户登录
用户注册

分享至

hibernate 一对多连接查询

  • 作者: 且过G
  • 来源: 51数据库
  • 2020-10-10
hibernate都给你解决好了 说白点吧。 比如你有一个user表 还有一个user1表 (多对一(无所谓))里面有关联字段user_id ; 对应user1表 。 你要查两个表的一条数据 可以这样。
比如你一个findAll都查出来了 显示数据的时候(假如内个关联字段hibernate命名为users) : user.getusers().getusers(); 这样就能取到想要的数据 不论是一条还是一个list 同样 el表达式 在jsp页内也一样可以这么做 比如var的变量名叫temp 循环的时候 可以
${temp.users.users} 这样就能取出你想要的数据 自己手打的 不管是不是你想要的 给个分吧、、



  把你的表结构和要查的结果说清楚才好回答

select u. userName, c. categoryName, c. description from User u, Category c where u.userID = c.userID and u.userID = ?
以上是hql语句查出来的结果是List
遍历以后Object[0]是userName,Object[1]是categoryName,Object[2]是description

还有,这种关联的类这么写是违背了hibernate初衷的,这样你就无法使用hibernate原本很方便的关联机制了,Category中的String userID应该写成User user;
只要查出一个对象,通过get方法就能得到另一个




  re rownum<(select count(*)+1="" from="" table)="" minus="" select="" *="" from="" table="" where=""><(select count(*)="" from="" table)="" 也可以简化为="" select="" *="" from="" table="" minus="" select="" *="" from="" table="" where=""><(select count(*)="" from="" table)="" 效果是一样的="" 切记rownum是伪列="">< 顺便给你求第x行的通用sql语句="" select="" *="" from="" table="" where=""><>
软件
前端设计
程序设计
Java相关