hibernate+struts多表查询,显示问题??
hibernate执行多表查询时候,除了在hql上实现外,在DAO类上怎样体现啊,DAO是某一个特定的表的操作,那多表查询的函数该写在那个表的DAO中呢?还有就是用多表查询出来的结果,有一个list存储,然后用<logic:iterate/>显示,具体如下
<logic:iterate id="element" name="bookSearchList">
<tr>
<td width="760" cellSpacing="1" cellPadding="1" borderWidth="1">
<input type="checkbox" name="Your_Table_ID_Name" value="<bean:write name="element" property="id"/>" onclick="change(this)"/>
<bean:write name="element" property="vtitle"/>
<bean:write name="element" property="vauthor"/>
<bean:write name="element" property="vprintPlace"/>
<bean:write name="element" property="vprintDate"/>
<bean:write name="element" property="vprintAdd"/>
</td>
</tr>
</logic:iterate>
为什么总是有No getter method for property id of bean element这样的一个错误,为什么不能得到id呢?
我对那个list显示一下大小,有正确的数据,但是为什么不显示呢?
搜索更多相关主题的帖子:
hibernate struts 查询
----------------解决方案--------------------------------------------------------
多表查询的时候只用在HQL上实现应该就可以了,DAO是对所有数据操作的集合并不是对特定的表操作,你可以把你的所有的查,删,更方法写到一个DAO中。只通过HQL语句就能实现了。。
struts标签不太懂,帮不上。。。
----------------解决方案--------------------------------------------------------
谢谢版主,期待会Struts帮帮我这个忙!!
----------------解决方案--------------------------------------------------------
No getter method for property id of bean element
是报你的bean中无id 的get方法,你看一下你的list 中存的对象的javabean是否有id 的set/get方法
----------------解决方案--------------------------------------------------------
版主,hibernate的多表的查询是不是要用原生SQL查询啊,版主能不能给我举一个多表查询的例子,比如
班级表:id,bjName,bjTeacherid;
教师表:id,lsName;
然后班级的bjTeacherid就是教师表的id;
然后让我们显示bjName,lsName,并存储在一个list里面
----------------解决方案--------------------------------------------------------
好久没用Hibernate,不过好像记得应该是:
定义二个javabean: ClassBean,TeacherBean(假定一个老师只对应一个班级,即一对一的关系)
那么在ClassBean将会有一个TeacherBean的对象。
比如查的时候你以老师的Id来查:
public class ClassBean{
.....
private TeacherBean t;
set/get TeacherBean;
}
SQL语句就这样写:
from ClassBean c where c.t.id="xxxxxxxxx"
-----------------------------------------------------------
如果是多对多的关系,一般要用一个中间表来存放teacher和class的id,
查询的时候就查中间表,然后通过 中间表.teacher.id 这种形式来查。
----------------------------------------------------------
网上有不少多表查询的例子你可以再看一下,可能有些我记不太清楚。。。。。
----------------解决方案--------------------------------------------------------
版主会在hbm中写吗,看了好多原生SQL,头都大了
----------------解决方案--------------------------------------------------------
hbm文件要写生成他们表之间的对应关系。。你到网上查一下写法吧。具体的我也记不得了。
----------------解决方案--------------------------------------------------------
回复:(999hits)hibernate+struts多表查询,显示问题...
经过session处理过的值对象,要用相应的类接收。做页面显示时也要分别显示
----------------解决方案--------------------------------------------------------
Criteria criteria = session.createCriteria(xxx.class).add(
Restrictions.eq("xxx.xxx", xxx)).setFetchMode(
"", FetchMode.JOIN);
hib里这样设置下,应该可以把关联的东西抓出来,struts标签用的也没问题,我看你报的错误信息是没有set的问题,看看bean里是不是忘了set和get方法,要是排除了这个问题,在看看你的hib主键策略(如果你的这个id是主键的话),最后还有可能就是如果你这个id是关联的一对多或着多对一关系的时候,这个id是只属于其中一个表的,具体是属于多还是一我也不记得了,你可以试下.
----------------解决方案--------------------------------------------------------