0 0

hibernate缓存问题 谁帮看看3

我用hibernate+struts2+spring开发
查询出列表页面,点击查询某一条进行修改,返回到列表页面,但是当点击添加的时候,还会把那个对象的数据加载出来。

ID也没通过页面传,什么都没传,但是就是存在

我觉得是缓存的问题,但是我没找到原因,哪位帮看看


只有一个applicationContext.xml是hibernate相关的,这个文件hibernate.cfg.xml不存在


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">


<beans>

<bean id="propertyConfigurer"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location">
            <value>/WEB-INF/jdbc.properties</value>
        </property>
    </bean>
   
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driverClassName}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="user" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <property name="autoCommitOnClose" value="true"/>
        <property name="checkoutTimeout" value="${cpool.checkoutTimeout}"/>
        <property name="initialPoolSize" value="${cpool.initialPoolSize}"/>
        <property name="minPoolSize" value="${cpool.minPoolSize}"/>
        <property name="maxPoolSize" value="${cpool.maxPoolSize}"/>
        <property name="maxIdleTime" value="${cpool.maxIdleTime}"/>
        <property name="acquireIncrement" value="${cpool.acquireIncrement}"/>
        <property name="idleConnectionTestPeriod" value="${cpool.idleConnectionTestPeriod}"/>
        <property name="acquireRetryAttempts" value="${cpool.acquireRetryAttempts}"/>
    </bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="mappingResources">
<list>
<!-- 系统管理 -->
<value>cn/com/system/model/User.hbm.xml</value>
<value>cn/com/system/model/Role.hbm.xml</value>
<value>cn/com/system/model/UserRole.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<!-- 第一句 解决查询中文乱码 -->
    <prop key="hibernate.query.factory_class"> org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
<prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
<prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>

<!-- 定义事务管理 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 定义事务管理拦截器 -->
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- 定义代理自动管理事务 -->
<bean id="ProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<!-- 指定需要Spring管理事务的Bean -->
<property name="beanNames">
<list>
<!-- 系统管理 -->
<value>userService</value>
<value>roleService</value>
</list>
</property>
<!-- 调用事务管理拦截器 -->
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>

<!--JDBC Transaction -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property  name="dataSource"><ref bean="dataSource" /></property>
</bean>
<bean id="jdbcTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource"><ref bean="dataSource"/></property>
</bean>
<bean id="jdbcBaseTransaction" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="proxyTargetClass">
        <value>true</value>
        </property>
<property name="transactionManager" ref="jdbcTransactionManager" />
<property name="target" ref="jdbcTemplate" />
<property name="transactionAttributes">
   <props>
     <prop key="save*">PROPAGATION_REQUIRED</prop>
     <prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="*Save">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
  </props>
</property>
</bean>

<!-- Hibernate Transaction -->
<bean id="hibernateInterceptor" class="org.springframework.orm.hibernate3.HibernateInterceptor">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- HDAOTarget -->
<bean id="HDAOTarget" class="cn.com.util.dao.HibernateDAOImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- HDAO -->
<bean id="HDAO" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>cn.com.util.dao.IHibernateDAO</value>
</property>
<property name="interceptorNames">
<list>
<value>hibernateInterceptor</value>
<value>HDAOTarget</value>
</list>
</property>
</bean>

<!-- system -->
<bean id="userService" class="cn.com.system.dao.UserServiceImpl">
<property name="dao">
<ref local="HDAOTarget"/>
</property>
</bean>
<bean id="userAction" class="cn.com.system.action.UserAction" >
<property name="userService">
<ref local="userService"/>
</property>
</bean>
<bean id="roleService" class="cn.com.system.dao.RoleServiceImpl">
<property name="dao">
<ref local="HDAOTarget"/>
</property>
</bean>
<bean id="roleAction" class="cn.com.system.action.RoleAction" >
<property name="roleService">
<ref local="roleService"/>
</property>
</bean>
</beans>
2011年11月08日 17:16
  • 大小: 34.5 KB

1个答案 按时间排序 按投票排序

0 0

当你点击查询某一条进行修改后,是否有保存到数据库,如果有的话,你保存后是否有刷新你的列表数据,这个不应该是hibernate的问题,可能和你前面页面的动作有关,展示数据等。

2011年11月16日 14:06

相关推荐

    hibernate缓存深入详解.

    关于hibernate缓存的一个ppt课件,60+幻灯片,有需要的可以看一下

    springMvc+Hibernate实现的一个问题管理系统

    首先,我们来看看SpringMvc和Hibernate的核心概念及其在项目中的作用。 SpringMvc是Spring框架的一个模块,专门用于处理Web应用程序的MVC(Model-View-Controller)设计模式。它提供了一个灵活的架构,使开发者可以...

    hibernate的dtd 包含hibernate.properties

    通过这个文件,我们可以指定Hibernate的工作模式、缓存设置、日志级别等。例如: ``` hibernate.connection.driver_class=com.mysql.jdbc.Driver hibernate.connection.url=jdbc:mysql://localhost:3306/mydb ...

    hibernate所需的ehcache的相关jar包,一共3个jar包

    为了解决这个问题,Hibernate引入了缓存机制。缓存分为一级缓存(Session缓存)和二级缓存。一级缓存是Hibernate Session内部的缓存,每个Session都有自己的缓存,用于存储当前Session内的实体对象。二级缓存则是...

    java模拟hibernate一级缓存示例分享

    在Java编程中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它为开发者提供了方便...同时,需要注意的是,一级缓存也可能会引发并发问题和数据一致性问题,因此在使用时需要根据具体场景进行适当的配置和管理。

    hibernate中文参考文档

    从描述来看,这份文档内容涵盖了Hibernate框架的主要特性和用法,从基础的安装和配置到高级的查询语言和性能优化,适合希望快速上手Hibernate的用户。 1. 在Tomcat中快速上手:这部分可能涉及如何在Tomcat容器中...

    hibernate-configuration-3.0.dtd、hibernate-mapping-3.0.dtd

    首先,我们来看`hibernate-configuration-3.0.dtd`。这个文件是Hibernate配置文件的文档类型定义(DTD),用于验证配置文件`hibernate.cfg.xml`的格式是否正确。它规定了如数据库连接信息、缓存设置、实体类加载路径...

    hibernate3实例包

    文件名称“hibernate-release-4.0.0.CR3”看起来是Hibernate的一个特定版本,但请注意,这与标题提到的Hibernate 3并不匹配。可能是因为标题中的"3"是笔误,实际的实例包是基于Hibernate 4.0.0的候选发布版本(CR3)...

    传智播客hibernate源码

    【传智播客Hibernate源码】是一套针对Java开发者的学习资料,主要涵盖了Hibernate框架的核心源码解析。...通过实践和学习,你将能够熟练地运用Hibernate来解决实际项目中的问题,从而提高软件开发的质量和效率。

    hibernate4.2.2必备jar包

    首先,我们来看看`hibernate-4.2.2`这个压缩包中可能包含的内容。通常,一个完整的Hibernate库会包含以下几部分: 1. **hibernate-core.jar**:这是Hibernate的核心库,包含了ORM(Object-Relational Mapping)的...

    非常好的Hibernate学习资料

    首先,我们来看看《夏昕.深入浅出Hibernate.PDF》这本书。作者夏昕深入浅出地介绍了Hibernate的核心概念和使用方法。书中可能涵盖以下几个关键知识点: 1. **对象关系映射(ORM)**:ORM是Hibernate的基础,它通过...

    Hibernate ORM 5.3.7.Final User Guide

    13. 缓存(Caching):涵盖了Hibernate缓存机制的细节,包括一级和二级缓存的配置和使用。 14. 拦截器与事件(Interceptors and Events):讲述了如何使用Hibernate的拦截器和事件系统来进行更细粒度的操作控制。 15. ...

    hibernate_3.1源码

    2. **第一级缓存与第二级缓存**:Hibernate如何实现对象的缓存机制,提高数据访问效率,并理解不同级别的缓存策略。 3. **事务管理**:了解Hibernate如何与JDBC或JTA协作,处理事务的提交、回滚和隔离级别。 4. **...

    hibernate 中文参考文档

    - **二级缓存**:为了提高性能,Hibernate支持二级缓存机制,可以缓存查询结果,减少数据库访问次数。 - **批量加载与延迟加载**:合理使用批量加载和延迟加载策略,可以有效减少数据库交互次数,提升应用性能。 ##...

    hibernate--1.什么是 Hibernate ?

    现在我们来看一下`0000.sql`,这通常是一个包含数据库初始化脚本的文件,用于创建与Hibernate映射的表结构。在使用Hibernate时,开发者会根据实体类定义相应的表结构,并通过这些脚本初始化数据库。 至于`hibernate...

    hibernate入门必看

    Hibernate提供了二级缓存机制,可提高性能。通过配置SessionFactory,可以集成第三方缓存提供商如Ehcache,实现数据的缓存。 ### 9. 结合Spring框架 在实际项目中,常将Hibernate与Spring框架结合,使用Spring的`...

    hibernate中文参考文档.pdf

    Hibernate内置了一系列性能优化机制,如二级缓存、懒加载等,这些机制可以在不牺牲应用灵活性的前提下显著提升应用的运行效率。 #### 7. 社区支持 作为一款成熟的开源项目,Hibernate拥有庞大的社区支持体系。这...

    孙卫琴 精通hibernate源码上

    5. **Chapter 6**:可能涉及了缓存机制,包括一级缓存和二级缓存,以及如何配置和优化缓存策略以提升应用性能。 6. **Chapter 7**:这一章可能涵盖事件和监听器系统,这是Hibernate提供的一种扩展机制,允许在特定...

    Hibernate5.4.2最新架包

    首先,我们来看看Hibernate 5.4.2中的核心特性: 1. **实体管理**:Hibernate的核心功能之一就是实体管理,通过注解或XML配置,可以将Java对象映射到数据库表。实体类可以定义属性,这些属性与数据库表的列对应,...

Global site tag (gtag.js) - Google Analytics