刚学习JAVA开发,使用hibernate+struts,数据库是sql server。
查询方法是:
public List findAll() {
log.debug("finding all BlogSysInfo instances");
try {
String queryString = "from BlogSysInfo";
Query queryObject = getSession().createQuery(queryString);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
}action方法是:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
BlogSysInfoDAO dao = new BlogSysInfoDAO();
List list= dao.findAll();
BlogSysInfo Sysinfo = (BlogSysInfo)list.get(0);;
request.getSession().setAttribute("SysInfo", Sysinfo);
return mapping.findForward("Head");
}可是查询结果没有根据数据库数据改变更新。库中有一个字段是SysName,第一次值为cczdiso,查询结果显示为cczdiso,当我在sql server控制窗口中将值改为disoccz后结果显示为disoccz,可再将数据改变后,结构还是显示disoccz。请高手帮忙解决
查询方法是:
public List findAll() {
log.debug("finding all BlogSysInfo instances");
try {
String queryString = "from BlogSysInfo";
Query queryObject = getSession().createQuery(queryString);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
}action方法是:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
BlogSysInfoDAO dao = new BlogSysInfoDAO();
List list= dao.findAll();
BlogSysInfo Sysinfo = (BlogSysInfo)list.get(0);;
request.getSession().setAttribute("SysInfo", Sysinfo);
return mapping.findForward("Head");
}可是查询结果没有根据数据库数据改变更新。库中有一个字段是SysName,第一次值为cczdiso,查询结果显示为cczdiso,当我在sql server控制窗口中将值改为disoccz后结果显示为disoccz,可再将数据改变后,结构还是显示disoccz。请高手帮忙解决
楼主截止到2008-06-21 03:51:55的汇总数据:
注册日期:2007-10-24
上次登录:2008-6-21
发帖数:1 发帖分:20
结贴数:0 结贴分:0
结贴率:0.00 % 结分率:0.00 %
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
我以前碰到过类似问题
不过要给你说也很麻烦饿。。呵呵
list.remove(0);
试试
是他session的问题觉得
没有把新的list覆盖原来的
你print下list里面的内容试试
楼主你的数据库里是不是只有一条记录啊
B 注意关你的Sesssion,按道理说这跟session是没有关系的,因为hibernate每次查询的时候都会将缓存里的数据与数据库里对比
1、调用历史记录
解决如下:
清空IE历史记录,然后在execute方法中加入,用来禁止缓存response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0);2、始终显示list中第一条记录,所以改其他记录第一条记录不变