最近用Struts1.1+Hibernate3.1进行程序设计,遇到了如下问题
ID生成策略采用 generator class="assigned"
根据 这位仁兄的帖子:
http://www.iteye.com/topic/27369《主题: saveorUpdate与unsaved-value,save,update,delete总结 》
中所述:
————————————————————
2).主键由自己来赋值
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="assigned" />
</id>
Project project = new Project();
project.setId(XXX);
this.projectDao.saveOrUpdate(project);
1、默认unsaved-value="null"
这时有所不同,hibernate会根据主键产生一个select,来判断此对象是否已被持久化
已被持久化则update,未被持久化则save。
————————————————----
也就是说,采用ID手动赋值,使用saveOrUpdate的时候hibernate会根据主键产生一个select,来判断此对象是否已被持久化已被持久化则update,未被持久化则save。
!但是我试了多次,不是这么回事啊,如果我给ID赋值,saveOrUpdate总是发出Update的语句,到底怎么回事??他说的时否正确,我目前程序就遇到这里,希望能够给解释一下
分享到:
相关推荐
**Hibernate 3.1 帮助文档** Hibernate 是一个流行的开源对象关系映射(ORM)框架,它允许Java开发者将数据库操作与业务逻辑解耦,通过对象模型进行数据操作。Hibernate 3.1 版本是其发展过程中的一个重要里程碑,...
《Hibernate 3.1 参考手册中文版》是一份详尽阐述Hibernate框架的重要资源,对于Java开发者来说,它是理解并掌握ORM(对象关系映射)技术不可或缺的工具。Hibernate作为一个开源的Java库,它允许开发者将Java类与...
3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到CUSTOMERS表 3.5 通过...
我们的重点是Hibernate 3.1版本,虽然较旧,但仍然是许多项目中的基石。 1. Hibernate概述: Hibernate是一个开源的ORM框架,它允许开发人员使用Java对象来操作数据库记录,而无需直接编写SQL语句。这提高了代码的...
根据提供的文件信息,“邹波hibernate50讲”这一视频教程主要涵盖了Hibernate框架的相关知识点。Hibernate是一个开源的对象关系映射(Object Relational Mapping,简称ORM)框架,它为Java应用提供了一种将对象模型...
本资料集合主要围绕《Hibernate 3.1参考手册中文版》展开,旨在帮助初学者和进阶者深入理解和掌握Hibernate的核心概念与实际应用。 一、Hibernate概述 Hibernate是一个开源的ORM框架,它提供了一种在Java应用程序中...
### Hibernate 学习文档知识点详解 #### 一、概述 Hibernate 是一款开源的对象关系映射 (Object Relational Mapping, ORM) 框架,它能够将 Java 应用程序中的对象模型与数据库的关系模型进行映射,使得开发人员...
### Hibernate 开发者指南知识点详解 #### 一、前言 Hibernate是一款开源的对象关系映射(Object Relational Mapping,简称ORM)框架,它为Java应用提供了对关系型数据库的高效持久化支持。Hibernate的主要特点...
**Hibernate 开发指南** Hibernate 是一个开源的对象关系映射(ORM)框架,它为 Java 应用程序提供了数据持久化的解决方案。...推荐参考《Hibernate3.1参考手册中文版.pdf》进一步了解和掌握 Hibernate 的各项功能。
### Hibernate工作原理详解 #### 一、概述 Hibernate 是一款开放源代码的 ORM(Object Relational Mapping)框架,它能够将 Java 类与数据库表建立映射关系,从而简化了持久层的操作。通过 Hibernate,开发人员...
### Hibernate 3.6 应用实例详解 #### 一、引言 Hibernate是一个非常流行的开源对象-关系映射(Object-Relational Mapping,ORM)框架。它为开发者提供了简化数据库操作的方式,允许使用面向对象的方式来操作关系型...
### Hibernate缓存机制详解 #### 一、Hibernate缓存机制原理及配置 **1.1 Hibernate缓存概述** Hibernate作为一款流行的Java持久层框架,其缓存机制是提高应用程序性能的关键之一。缓存的主要作用在于减少数据库...
3.1 创建Hibernate的配置文件 47 3.2 创建持久化类 48 3.3 创建数据库Schema 51 3.4 创建对象-关系映射文件 52 3.4.1 映射文件的文档类型定义(DTD) 52 3.4.2 把Customer持久化类映射到CUSTOMERS表 54 3.5 ...
**Hibernate实体对象操纵** 在Java开发中,Hibernate是一款非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库数据。本篇文章将深入探讨Hibernate中的...
**hibernate笔记** 在Java世界中,Hibernate是一款强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式处理数据。以下是对Hibernate的学习笔记: ### 1. Hibernate概述 ...
《Spring与Hibernate整合实现CURD详解》 在Java Web开发领域,Spring框架和Hibernate ORM工具是两个非常重要的组件。Spring以其强大的依赖注入、AOP(面向切面编程)以及丰富的MVC支持闻名,而Hibernate则作为优秀...
3.1 创建Hibernate的配置文件 47 3.2 创建持久化类 48 3.3 创建数据库Schema 51 3.4 创建对象-关系映射文件 52 3.4.1 映射文件的文档类型定义(DTD) 52 3.4.2 把Customer持久化类映射到CUSTOMERS表 54 3.5 ...
3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到CUSTOMERS表 3.5 通过...
3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到CUSTOMERS表 3.5 通过...
3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到CUSTOMERS表 3.5 通过...