`
ykyfendou
  • 浏览: 408036 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

getHibernateTemplate().clear(),flush()方法介绍

阅读更多

 

 

Hibernate3的缺点,一级缓存的强引用的问题,所以在做批量查询和插入操作的时候需要执行session.flushsession.clear两个操作。

 

flush()使用 (在spring声明事务的情况下)

A引用 B,现在同时增加这两个类,如果你不用的hibernate自动处理机制 ,则需要在save(B)后,调用 flush()强行的写入数据库,再将返回的主键写入A中,再save(A),否则将报出找不到B的错误,这是因为声明式事务的方法是在方法结束后一起提交,因此会出现异常。

 

 

clear() 使用

在实际过程中可能会出现这样的情况,需要创建AA完全的copyB(此时的B是根据ID get()得到的),A.B又是属于同一张表的实体,因此在save(A)时,会出现异常,提示你有两个相同的数据,却是不同的标识,异常抛出后无法正常的保存,

那怎么解决呢,这时候你就需要在save()执行前加上一个clear()了,如:

 

getHibernateTemplate().clear();
getHibernateTemplate().save(t11);

 

 

 

 

 

分享到:
评论

相关推荐

    gethibernatetemplate的find方法

    gethibernatetemplate的find方法,find(String queryString);find(String queryString , Object value);find(String queryString, Object[] values);findByExample(Object exampleEntity);findByExample(Object ...

    getHibernateTemplate()使用方法

    本文将详细介绍`getHibernateTemplate()`的使用方法,并通过具体的代码示例帮助读者更好地理解和应用这些方法。 #### `getHibernateTemplate()`简介 `getHibernateTemplate()`方法是Spring提供的一个用于执行...

    getHibernateTemplate()有模糊查询和 分页

    `getHibernateTemplate()`是Spring框架与Hibernate集成时提供的一个便捷方法,它封装了对Hibernate Session的操作,使得在Service或DAO层进行数据库交互变得更加简单。 在给定的标题和描述中,提到的是`...

    getHibernateTemplate

    `getHibernateTemplate()`方法是Spring框架中用于整合Hibernate ORM的一个关键接口,它是`HibernateDaoSupport`类的一个重要方法。在Spring MVC(S2SH,即Struts2、Spring和Hibernate的组合)架构中,`...

    getHibernateTemplate分页-模糊查询

    本文将详细介绍如何利用`getHibernateTemplate()`方法结合Spring框架进行分页查询和模糊查询。 #### 二、关键概念解释 1. **Hibernate**: 是一个开放源代码的对象关系映射(ORM)框架,它提供了从Java类到数据库表...

    getHibernateTemplate()查询

    以上介绍了通过`getHibernateTemplate()`方法执行查询的不同方式,包括简单的HQL查询、带有参数的查询、模糊查询以及基于实例对象的查询等。这些方法在实际开发中非常实用,可以帮助开发者更灵活地处理各种查询需求...

    jsp中调用dao的getHibernateTemplate()时,报空指针

    "JSP 中调用 DAO 的 getHibernateTemplate() 时报空指针异常的解决方法" 在整合 SSH 框架时,经常会遇到 JSP 中调用 DAO 的 getHibernateTemplate() 时报空指针异常的错误。本文将讲解这个问题的原因和解决方法。 ...

    hibernate模板类详解

    以上就是`HibernateTemplate`中常用的查询方法及其实现原理的详细介绍。这些方法极大地提高了开发效率,并且使得数据访问层的实现更加简洁和灵活。通过合理运用这些方法,开发者可以在实际项目中更加高效地处理数据...

    hql语言中的一些常用的方法

    下面将详细介绍HQL语言中的一些常用的方法及其应用场景。 #### 1. find 方法 `find` 方法是HQL中最基本也是最常用的查询方法之一,通过它可以执行简单的查询操作。例如: - **无参数查询**:可以直接执行如 `this...

    hibernate 事务管理注意事项

    getHibernateTemplate().clear(); } } ``` 2. **解决方案**:设计一个基础的数据访问层`AHBaseDaoImpl`,确保每次基础功能调用后都能将变更同步到数据库并清除会话缓存。这种方式能够有效避免因缓存问题而导致...

    手机充值卡充值

    return (Card)this.getHibernateTemplate().get(Card.class, cardPass); } @Override public void updateCard(Card card) { // TODO Auto-generated method stub this.getHibernateTemplate().update(card...

    Spring中常用的hql查询方法

    ### Spring框架中HQL查询方法详解 在Spring框架与Hibernate技术结合使用时,HQL(Hibernate Query Language)作为对象查询语言被广泛应用于数据查询操作之中。本文将详细解析Spring框架中常用的HQL查询方法及其应用...

    Spring中hql语句的常用方法

    本文档将详细介绍如何在Spring环境中运用HQL进行数据查询操作,包括基本查询、参数绑定以及命名查询等高级特性。 #### 一、基本查询方法 在Spring框架中,`HibernateTemplate`类提供了多种方法来执行HQL查询,这些...

    hibernate保存不到数据1

    当使用Hibernate的`getHibernateTemplate().save()`方法尝试保存数据时,如果数据没有被保存到数据库,可能有以下几个原因: 1. **事务管理**:在默认情况下,Hibernate不会自动开启和提交事务。如果在代码中没有...

    Spring 和hibernate集成自学笔记

    本文将重点介绍如何利用Spring整合Hibernate进行数据库操作的方法,并提供一系列实用的例子。 #### 二、Spring集成Hibernate的关键组件 ##### 1. HibernateTemplate `HibernateTemplate`是Spring提供的用于封装...

    HibernateTemplate类的使用

    在上述示例中,开发者期望通过调用`session.flush()`方法来显式提交事务,但实际上这种做法并不符合Spring的事务管理机制。Spring管理的事务默认情况下是在`HibernateTemplate`执行完毕后自动提交的。如果在`...

    struts2_spring_hibernate_分页显示.doc

    #### 一、背景介绍 在现代Web应用开发中,特别是基于Java平台的企业级应用,Struts2、Spring 和 Hibernate 是非常重要的三大框架。其中,Struts2 负责前端表现层逻辑的控制,Spring 提供了强大的业务逻辑层管理和...

    spring_demo:Spring MVC示范项目

    在更新或删除数据时,必须调用getHibernateTemplate().flush(); 且在web.xml中添加 <filter>openSessionInViewFilter <filter>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter <param>...

    hibernate执行原生sql语句

    本文将介绍如何使用 Hibernate 执行原生 SQL 语句。 为什么需要执行原生 SQL 语句 在实际开发中,我们可能需要执行一些复杂的 SQL 查询,或者使用数据库特有的函数和语句,而这些操作在 HQL 中不支持。此时,我们...

Global site tag (gtag.js) - Google Analytics