第一个问题:直接在sqlserver查看数据库,然后显示一直在查询,可是数据库里总共只有几行数据,停掉tomcat之后,数据立马显示出来。。
第二个问题:在jsp页面修改数据,然后插入数据库,最后又返回到jsp页面,显示为修改成功(这个时候在数据库里查看数据库也显示一直在查询),关掉服务器后,数据库立马显示出来,而且是修改之前的数据,也就是说之前的数据库没有修改成功
1.数据库中有两张表,那在用过的表,查不到,但是没用过的表可以查,好像之前只用struts2和hibernate都可以查,也确实可以修改成功额
2.底层连接数据库的方法,这样写应该不用管事务吧 public void update(Book b) {
this.getHibernateTemplate().update(b);
}
下面是spring 相关的配置
<!-- <context:annotation-config/>-->
<context:component-scan base-package="com.tan"/>
<!--加载Hibernate配置-->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<bean id="userDAO" class="com.tan.dao.impl.UserDAOImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="bookDAO" class="com.tan.dao.impl.BookDAOImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
改成hibernateTemplate.update()之后,就没这个问题了,但是仍然没弄清是怎么回事
配置事务就好了,只是这里有点要强调:用getHibernateTemplate()方法时,一定要配置事务,不然就会出现这样的问题,但是用注入hibernateTemplate时,则可以不用配置事务。。。