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

hibernate如何只根据主键更新实体

 
阅读更多
我现在做的项目中,打开hibernate的debug日志发现,当hibernate更新实体是调用save或merge方法,在hibernate解析成sql的时候,有些地方是where条件后面只有一个主键ID,但是有些地方where条件后面却列出了所有的属性,不知道什么原因?有知道的朋友,还请告知,谢谢!
分享到:
评论
1 楼 houyongbo03 2011-09-23  
终于找到答案了:
optimistic-lock="all"
将这个参数改成默认值即可,因为这个他会按照所有属性去匹配实体版本!

相关推荐

    hibernate 无主键表映射

    在Hibernate中,对无主键表的操作与普通实体基本相同,只是在保存和查询时需要传入整个复合主键对象。例如,创建一个新的订单: ```java OrderKey key = new OrderKey(); key.setCustomerId("123"); key.setOrderId...

    hibernate复合主键设置

    在Java的持久化框架Hibernate中,复合主键(Composite Key)是一种特殊的数据结构,用于处理具有多个字段作为唯一标识的情况。本教程将深入探讨如何在Hibernate中设置复合主键,并提供一个可直接使用的配置示例。 ...

    hibernate复合主键映射

    在Java的持久化框架Hibernate中...总之,Hibernate通过`@Embeddable`和`@EmbeddedId`注解支持复合主键的映射,允许开发者根据业务需求灵活地设计数据模型。理解并掌握这一特性,对于提升Java应用的持久化能力至关重要。

    hibernate联合主键全攻略

    - 查询操作中,如果只根据联合主键的部分字段进行查询,可能会返回多条记录,因此在设计查询逻辑时需格外小心。 总的来说,Hibernate联合主键的使用为复杂的数据关系提供了强大的支持,但同时也增加了设计和编码的...

    Hibernate映射文件主键的生成

    以上就是Hibernate主键生成的常见策略,每种策略都有其适用的场景。在实际开发中,应根据数据库类型和需求选择合适的主键生成策略,确保数据的一致性和完整性。理解并正确配置这些策略,将有助于提高程序的稳定性和...

    Hibernate Annotation 共享主键一对一双向关联

    `CascadeType.ALL`表示所有操作(包括保存、更新、删除)都会级联到对方实体。 值得注意的是,虽然共享主键的一对一关联在某些情况下简化了设计,但也有其缺点,如可能导致数据冗余和违反数据库规范化原则。因此,...

    Hibernate主键生成方式

    以下是关于Hibernate主键生成方式的详细说明: 1. **Identity方式**:`<generator class="identity"/>` 这种方式依赖于数据库自身的自动增长机制。例如,在MySQL中,它可以与`AUTO_INCREMENT`属性配合使用。当...

    hibernate复合主键配置和使用

    《Hibernate复合主键配置与使用详解》 在Java开发中,Hibernate作为一款强大的ORM框架,大大简化了数据库操作。然而,当我们面临复杂的数据表结构,尤其是涉及到复合主键时,如何在Hibernate中进行配置和使用就显得...

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

    在这个场景中,“hibernate使用主键关联的一对一关系”指的是通过共享主键来实现两个实体类之间的这种一对一绑定。下面我们将深入探讨这一主题。 首先,我们需要理解一对一关系的概念。在数据库中,一对一关系意味...

    hibernate的联合主键怎么设置

    有了以上配置,你就可以在程序中通过 Hibernate API 来操作这个联合主键的实体类了,例如增删改查等操作。 接下来,我们讨论 `inverse` 属性的影响。`inverse` 属性用于控制在一个关联关系中,哪一方负责维护关联...

    Hibernate联合主键的例子

    在Java持久化框架Hibernate中,联合主键(Composite Key)是一种特殊的数据结构,用于标识数据库表中的一条记录。与单个字段作为主键不同,联合主键由两个或更多个字段共同组成,形成一个唯一的标识。在本教程中,...

    Hibernate复合主键

    * 提高查询效率:使用复合主键可以提高查询效率,因为 Hibernate 框架可以根据复合主键快速地定位到对应的实体。 * 提高数据一致性:使用复合主键可以提高数据的一致性,因为复合主键可以确保数据的唯一性和正确性。...

    hibernate主键生成策略

    【hibernate主键生成策略】是Hibernate框架中用于生成持久化对象主键的重要机制,它决定了如何在数据库中创建唯一的标识符。在SSH(Spring、Struts、Hibernate)架构中,Hibernate作为持久层框架,主键生成策略的...

    hibernate映射主键生成策略native

    实际上,在使用“native”策略时,Hibernate会根据当前数据库环境自动选择合适的主键生成策略。 ##### 3.2 Oracle数据库中的序列创建 为了使“native”策略正确地为Oracle数据库生成主键,还需要在数据库中预先...

    Hibernate注解映射联合主键

    在Java的持久化框架Hibernate中,联合主键(Composite Key)是一种特殊的数据模型设计,用于处理具有多个字段作为主键的实体。联合主键通常在数据表中的某些列共同决定了唯一标识的情况出现。在Hibernate中,有三种...

    hibernate复合主键的实例

    在实际开发中,根据具体需求调整实体和复合主键类的属性,以满足业务场景。 四、总结 复合主键在多字段标识的情况下非常有用,它可以保证数据的完整性。在Hibernate中,通过定义`@Embeddable`的复合主键类和`@...

    hibernate中基于主键的one2one

    `@PrimaryKeyJoinColumn`注解表明两个实体的主键是相同的,这样Hibernate就能知道如何建立并维护这种关系。 这种基于主键的一对一关联有许多优点,例如简化数据模型,减少冗余数据,以及更有效地查询相关数据。但也...

    hibernate中自动生成主键的办法

    Native策略是一种智能选择策略,Hibernate会根据当前使用的数据库类型自动选择最合适的主键生成策略,如identity、sequence或hilo。这种方式的最大优点是灵活性和兼容性,开发者无需关心底层数据库的细节,可以专注...

    hibernate的主键生成策略

    以下是对Hibernate主键生成策略的详细说明: 1. **assigned**: 这种策略要求用户在调用`save()`方法之前手动设置主键值。Hibernate不参与主键的生成,这意味着主键生成完全由应用控制,可以与数据库无关。这种...

Global site tag (gtag.js) - Google Analytics