`

Hibernate删除一个session.load来的Model类?

阅读更多

如下所示:

         public static void delete() {

       Session session = HiberUtil.getSession();

      

       ProjCost toDelete = (ProjCost)session.load(ProjCost.class, 6723L); // load方式就是想不希望Hibernatetouch数据库,毕竟delete时只需要一个id就够了。

      

       session.close();

      

      

       session = HiberUtil.getSession();

       session.beginTransaction();

      

       session.delete(toDelete);

      

       session.flush();

       session.getTransaction().commit();

    }

 

我想用这样的方法来删除一行记录,目的是想实验下Hibernate能不能不去数据库中加载数据情况下删除一行记录。

 

实验结果是,现在3.2版本的不行, Hibernate会自动加载数据。

 

执行过程中,org.hibernate.event.def. DefaultDeleteEventListener类中onDelete(DeleteEvent event, Set transientEntities)方法中的一句话“Object entity = persistenceContext.unproxyAndReassociate( event.getObject() );”剥去Proxy外壳而取hit数据库地数据。

 

哪为什么要这样呢?也就是说不这样会有什么不良后果尼?
0
0
分享到:
评论

相关推荐

    Spring-MVC-Hibernate-CRUD-源码.rar

    这是一个关于使用Spring MVC和Hibernate框架实现CRUD操作的源代码示例。CRUD代表创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete),是数据库操作的基本功能。Spring MVC作为Spring框架的一部分,是用于...

    Struts2+Hibernate的增删改查

    Struts2主要负责MVC(Model-View-Controller)模式中的控制层,而Hibernate则是一个强大的持久化框架,用于处理数据库操作。将两者整合,可以构建出高效、结构清晰的Web应用。 在"Struts2+Hibernate的增删改查"项目...

    基于struts和hibernate的学生信息管理系统

    3. **持久化操作**:通过Hibernate的Session接口实现数据的增删改查,例如,使用Session.save()添加新学生,Session.get()和Session.load()查询学生信息,Session.update()和Session.delete()更新或删除学生。...

    struts2+hibernate 登录实例..详细注释..保证能运行

    而Hibernate则是一个对象关系映射(ORM)工具,它允许开发者用Java对象来操作数据库,减少了直接编写SQL语句的工作。 在这个"struts2+hibernate登录实例"中,我们将探讨如何结合这两个框架来实现一个用户登录系统。...

    struts2与hibernate整合开发

    Struts2是一个强大的MVC框架,提供了丰富的功能来处理用户请求,而Hibernate则是一个对象关系映射(ORM)工具,使得Java开发者可以方便地操作数据库。 在整合Struts2和Hibernate进行开发时,首先需要理解这两个框架...

    Structs2和Hibernate简单登录验证实例.zip

    而Hibernate则是一个对象关系映射(ORM)工具,它允许开发者用Java对象来操作数据库,减少了SQL的直接使用,提高了开发效率。 在这个"Structs2和Hibernate简单登录验证实例"中,我们将会看到如何结合这两个强大的...

    hibernate+struts1实现添删改查

    这个主题涉及到两个核心的技术:Hibernate,一个强大的对象关系映射(ORM)框架,以及Struts1,一个早期的Model-View-Controller(MVC)架构。 **Hibernate** 是Java领域中广泛使用的ORM框架,它允许开发者用面向...

    北大青鸟hibernate影院系统

    例如,使用`Session.save()`保存新记录,`Session.update()`更新已有记录,`Session.delete()`删除记录,以及使用`Session.load()`或`Session.get()`获取记录。 5. HQL与 Criteria 查询:Hibernate提供了自己的查询...

    SpringMVC+Hibernate+Oracle 实现登录、注册、增删改查功能!

    在Hibernate中,通过Session对象可以直接操作实体,比如`session.save(user)`实现新增,`session.update(user)`更新,`session.delete(user)`删除,而`session.load(User.class, userId)`获取特定ID的用户。...

    Sturts2整合Hibernate连接MySQL数据库

    例如,调用`session.save()`方法来保存新对象到数据库,`session.get()`或`session.load()`来获取已有记录,`session.update()`或`session.merge()`来更新对象,以及`session.delete()`来删除记录。 4. **整合...

    hibernate做的一个图书系统例子

    Hibernate是一个开源的Java库,它允许开发者用面向对象的方式来操作数据库,从而避免了SQL的直接编写,提高了开发效率和代码可维护性。通过XML配置文件或注解,Hibernate可以自动将Java对象与数据库表进行映射,实现...

    struts2整合hibernate

    例如,使用`Session.save()`方法保存新对象到数据库,`Session.load()`或`Session.get()`方法来获取已存在的对象,`Session.update()`或`Session.merge()`更新对象,以及`Session.delete()`删除对象。 为了确保数据...

    tableTobean.rar_CZAF_K7W_TabletoBean_hibernate反向生成bean

    例如,使用`session.save()`方法保存对象到数据库,`session.load()`或`session.get()`获取对象,`session.update()`更新对象,`session.delete()`删除对象。 总结,利用Hibernate的反向工程功能,我们可以快速地从...

    struts2+hibernate 增删改查

    Struts2是一个强大的MVC(Model-View-Controller)框架,而Hibernate则是一个对象关系映射(ORM)工具,用于简化数据库操作。下面将详细介绍这两个框架在实现增删改查(CRUD)操作时的关键知识点。 1. **Struts2...

    springmvc+hibernate demo

    总的来说,“springmvc+hibernate demo”项目提供了一个简化的实例,演示了如何在Java Web开发中结合Spring MVC的MVC架构和Hibernate的ORM能力,以实现对数据库的基本操作。通过这个示例,开发者可以快速上手这两个...

    Struts/Hibernate应用小例子

    而Hibernate则是一个对象关系映射(ORM)工具,简化了数据库操作,使得开发者可以用Java对象来操作数据库。 在这个"Struts/Hibernate应用小例子"中,开发者创建了一个简单的通讯录应用,实现了基本的创建(Create)...

    spring3 + hibernate3 实现用户的增删改查

    例如,`saveUser()`方法通过`session.save(user)`保存用户对象,`deleteUser()`通过`session.delete(user)`删除用户,`updateUser()`通过`session.update(user)`更新用户,`findUser()`通过`session.load()`或`...

    springmvc+hibernate框架搭建、增删改查操作

    Hibernate 是一个强大的 ORM 解决方案,它可以将 Java 类与数据库表进行映射,简化了 SQL 的操作。通过使用 Hibernate,开发者可以专注于业务逻辑,而无需关心底层数据库的细节。 3. **环境配置** - **依赖管理**...

    增删改查小例子

    对于"增"操作,我们需要在Action类中创建一个新的实体对象,通过Hibernate的Session接口进行持久化操作,如`session.save()`,然后提交事务。 "删"操作通常涉及根据某个唯一标识(如ID)获取对象,使用`session....

    SSH整合开发的一个数据库增删改操作

    3. **Hibernate**:Hibernate是一个对象关系映射(ORM)框架,它允许开发者使用Java对象来操作数据库记录。在SSH整合中,Hibernate通过XML配置文件或注解定义实体类和数据库表之间的映射,简化了数据库操作。增删改...

Global site tag (gtag.js) - Google Analytics