如何在jsp显示Hibernate多表查询的结果?你们是怎么做的?

发布于 2022-08-28 12:18:07 字数 1042 浏览 8 评论 0

有两张表user和message.
user表中的uid对应message中的uid。
Hibernate中查询Hql:
String hql="from Message t1,User t2 where t1.uid=t2.uid";
如果是在单表的时候我会在struts2中的action中定义一个List或者List类型的属性,然后在jsp页面中就可以使用s:iterator循环想要的属性。
但是现在是多表,关联了两个pojo实体。现在改怎么操作?没有定义one-2-one或者one-2-many。

目前我可以得到:

Iterator iterator = list.iterator();
        while(iterator.hasNext()){
            Object[] o = (Object[]) iterator.next();
            Message mess=(Message)o[0];
            User u=(User)o[1];
        }

目前网上找到的两个方法:
一种办法:
新创建一个pojo实体类UserMess,通过上面的iterator将两个表需要的显示的属性存放进入这个新的pojo。然后在action中定义List属性。

另一种方法
http://blog.knowsky.com/200638.htm
直接在jsp通过s:iterator 根据索引的位置获取。

这两种方法是我在网上找到的,第一种方法有的麻烦,第二种方法代码的可读性低,如果不指定select 字段就不知道位置。

在项目开发过程中,即便是不使用多表查询,而是一个一个表查询。显示的时候必定要联合多个表查询的结果。 怎么更加方便的在jsp页面中显示???

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初见 2022-09-04 12:18:07

解决了,看了你的方法解决锝

猥琐帝 2022-09-04 12:18:07
  • 第一眼时UI
  • 后面就感觉插件很多
  • 自动保存
  • 已拼单词提示
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文