`
wuhua
  • 浏览: 2120443 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Hibernate 一个更新问题的 讨论

阅读更多
一个关于hibernate单向一对一外键关联,级联update的问题。
问题如下:
有member的更新代码
java 代码
  1. public void addClickCount(){
  2. if(this.getStat() == null){
  3. Stat stat = createStat();
  4. stat.setClickCount(1);
  5. }else{
  6. this.getStat().addClickCount();
  7. }
  8. }
Stat的代码
java 代码
  1. public void addClickCount(){
  2. this.setClickCount(this.clickCount + 1);
  3. }
xml 代码
  1. <many-to-one
  2. name="stat"
  3. class="com.teesoo.teaonline.model.sys.Stat"
  4. cascade="save-update"
  5. column="f_stat_id"
  6. />

hibernate代码
java 代码
  1. public Member loadMember(Integer memberId){
  2. Member member = (Member) this.baseDao.get(Member.class, memberId);
  3. member.addClickCount();
  4. return member;
  5. }

我的要求是load一个member,同时stat的一个点击数自增加
以上环境是hbernate+spring

高手们现身把。

我的问题是,上面的代码不会更新stat的状态。
session没有关闭的状态下。
分享到:
评论
3 楼 wuhua 2007-07-06  
xianyun 写道
这个member.addClickCount()执行时是不是在事务环境中,如果不在事务中,没有提交,hibernate是不会自动flush出修改的数据的。另外不知道你的createStat()是怎么写的。

真是不好意思,浪费大家的时间了。
项目大了,一些很明显的东西倒是忘记了
我的事情模型是不给更新的,因为方法名有限制。
所以这个问题就是老兄说的对。
2 楼 xianyun 2007-07-06  
这个member.addClickCount()执行时是不是在事务环境中,如果不在事务中,没有提交,hibernate是不会自动flush出修改的数据的。另外不知道你的createStat()是怎么写的。
1 楼 sorphi 2007-07-06  
试试
this.getStat().addClickCount();
this.setStat(this.getStat());

相关推荐

    Hibernate中大量数据的更新

    Hibernate 是一个流行的基于 Java 的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在将大量数据插入到数据库时,Hibernate 经常会出现性能和内存溢出问题。本文将讨论使用 ...

    hibernate更新操作

    在Java开发中,Hibernate是一个流行的持久化框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是数据库交互。本篇主要讨论的是Hibernate的更新操作。 在Hibernate中,更新操作通常涉及以下几个步骤: ...

    Hibernate面试题专栏 - 最全的Hibernate面试题, Hibernate笔试题, Hibernate问题

    【标题】与【描述】提及的是“Hibernate面试题专栏”,主要涵盖了全面的Hibernate面试题、笔试题以及相关问题,这表明我们将要讨论的是Java领域中著名的对象关系映射框架——Hibernate的相关知识。Hibernate是一个...

    spring-hibernate 4个版本

    Spring是一个广泛使用的Java企业级应用开发框架,而Hibernate是一个流行的持久化框架,用于简化数据库操作。这两个库的集成使得开发者能够利用Spring的依赖注入和管理特性,以及Hibernate的对象关系映射(ORM)能力...

    GWT整合Hibernate的一个小实例

    通过一个简单的新增和查询实例,我们将阐述这一集成过程的关键步骤,并讨论相关配置文件和编程模型。 标题中的" GWT整合Hibernate的一个小实例 "是指将Google Web Toolkit(一种用于创建富客户端Web应用的Java开发...

    Hibernate-extensions 完整安装包

    总结来说,Hibernate-Extensions是Hibernate的一个强大补充,它扩展了ORM的功能边界,使开发者能够更高效、更灵活地处理数据库操作。无论你是初学者还是经验丰富的开发者,这个完整的安装包都值得你拥有,因为它将为...

    hibernate使用主键关联的一对一关系

    作者可能会讨论如何处理关联的懒加载和即时加载,以及可能遇到的问题和解决方案。 ### 实际应用 在实际开发中,一对一关系常用于那些逻辑上紧密耦合但又需要独立存储的数据模型,如用户个人信息和用户账户信息,...

    hibernate一对多与多对一

    这种关系在Hibernate中通过`@ManyToMany`注解来实现,通常会涉及到一个中间表(或称为关联表)来存储两个实体之间的关系。我们可以通过`@JoinTable`注解来定义这个中间表的结构,包括连接列和表名。 至于“单向”和...

    hibernate for netbeans5.5

    这暗示了我们可能会讨论一个针对NetBeans 5.5设计的Hibernate插件,用于增强IDE对Hibernate的支持。 在提供的压缩包文件名称列表中,我们看到了多个以`.nbm`结尾的文件。这些是NetBeans模块(Module)的安装包,...

    hibernate实战 英文版

    3. **持久化管理**:持久化是ORM中的一个重要概念,本书探讨了如何有效地管理实体对象的状态变化,如瞬时状态、持久状态等。 4. **缓存机制**:为了提高性能,Hibernate支持多种缓存策略,书中详细介绍了如何合理地...

    hibernate动态分表

    【hibernate动态分表】是一种数据库设计策略,主要用于处理大数据量的问题,通过将数据分散到多个物理表中,以实现水平扩展,提高查询效率,减轻单表的压力。在Java Web开发中,Hibernate作为一款流行的ORM(对象...

    Hibernate实战

    Hibernate是一个开源的ORM框架,它为Java开发者提供了一种高效、便捷的方式来管理数据库操作,消除了Java对象与SQL之间的鸿沟。在本书中,作者详细介绍了Hibernate的核心概念、配置、实体管理、数据持久化、查询语言...

    一个简单的hibernate_4 链接Oracle例子

    【标题】:“一个简单的hibernate_4 链接Oracle例子” 在Java开发中,Hibernate是一个非常流行的Object-Relational Mapping(ORM)框架,它允许开发者以面向对象的方式处理数据库操作,极大地简化了数据库编程。这...

    hibernate一对一之唯一外键关联(单向关联)

    同样,更新或删除一个对象时,也需要确保其关联对象的状态得到正确处理,以保持数据一致性。 总的来说,Hibernate的一对一唯一外键关联(单向关联)是通过在一方实体中定义另一方实体的引用,并通过注解或XML映射...

    Hibernate Reference官方文档实践日记一

    【压缩包子文件的文件名称列表】:“Hellohibernate”可能是作者创建的一个示例项目,用于展示Hibernate的基本用法。这个项目可能包括了配置文件(如hibernate.cfg.xml)、实体类、数据访问对象(DAO)以及相关的...

    hibernate完整开发包

    描述中提到"hibernate最新(5.0.0)完整开发包",意味着这是Hibernate框架的第5.0.0版本,这是一个重要的更新,因为它包含了自上一版本以来的改进和新特性。"包含所有的jar文件"意味着提供了运行和开发Hibernate应用...

    一个好的hibernate源代码有server2008数据库

    标题提到的是“一个好的hibernate源代码有server2008数据库”。这里我们可以理解为,这是一个关于Hibernate框架的示例项目,它使用了Microsoft SQL Server 2008作为后端数据库。Hibernate是Java开发中常用的一个对象...

    Hibernate ORM - 一对一连接表关联关系

    Hibernate是一个流行的Java对象关系映射(ORM)工具,它允许开发者用面向对象的方式来操作数据库,而无需过多关注SQL语句的编写。 描述部分虽然为空,但我们可以根据标题推测,这篇内容可能涉及了如何在Hibernate中...

    hibernate所需包:hibernate3,依赖包,JDBC

    Hibernate是一个流行的Java持久化框架,它简化了数据库操作,使得开发者可以通过对象关系映射(ORM)技术来处理数据库交互。 **Hibernate ORM框架** Hibernate3是Hibernate的第三个主要版本,发布于2005年,它提供...

Global site tag (gtag.js) - Google Analytics