怎样实现用Hibernate同时查询两张数据表中的最新内容并显示在同一个jsp页面的table中?

只需显示最新的数据即可(数据是实时存入数据库的)。

用hibernate中的native SQL写级联查询。但因为这样查询出来的对象结果没有经过hibernate的mapping,所以必须用键值对的方式取出,直接将结果显示在jsp上。
如果用HQL,就要在配置中去关联这两张表,查询出一张表的同时,将另一张表的数据get得到(取决于你的关联方式)。页面上面就要你去控制循环方式了,因为是级联的表。
至于最新数据,就要看你是怎么去设计的了。是数据创建时间最新?修改时间最新?某一字段最新?最新的判断条件是怎样的。追问

能帮忙举个例子吗?比如说我的第一章数据表存储的是产品的公共属性,字段有ID,产品名称,生产日期。等。另一张数据表是记录这个产品的当前状态(因为有好多产品,每一产品对应不同的状态表)字段包括ID,状态(正常/不正常)状态表中的记录是每隔十分钟更新一次所以要查创建时间最新的,当我在前台JSP页面查询其中一种产品的状态时就需要从第一张表取出公共属性,再从第二张表中取出属于它自己的特有状态属性。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-04
最新的数据是不是有个标记呀,直接查询就可以了,不同的表的数据你难道在页面是在一个table中显示吗?肯定也是不同的东西吧,你完全可以用2条语句查询,动态显示最新的数据,用ajax动态刷新显示最好了追问

在页面是在一个table中,分的不同的td。要是不行的话我考虑用两个table都行,能实现就行。我是想用struts和Hibernate来实现功能,应该怎样做。多谢帮助!

追答

那就是两个表是有主键关联的了,那就直接用一条语句查询出来不是更快吗?用jdbc就可以了,用hibernate就得考虑one-to-one的配置了,用的不好,有很多问题的。还是单独查出来,在页面匹配进行显示就可以了

追问

你说的有道理,hibernate确实用的不好,试了好多次都有问题。你的意思是只在这一个jsp页面上单独嵌入java语句查询数据库吗,系统其它的还是用struts和Hibernate,共存。不知道行不?比较菜,见笑了多谢。

追答

都可以,就看你的系统架构了,一般sql都不写在页面的,都是后台写的,前台只是做输出,不写任何有关数据库的东西

第2个回答  2012-09-04
使用左连接。都是可以的。本回答被提问者采纳
相似回答