`
kainsas
  • 浏览: 2564 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Hibernate3.1 ----saveorUpdate的再次疑问!

阅读更多
最近用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的语句,到底怎么回事??他说的时否正确,我目前程序就遇到这里,希望能够给解释一下
分享到:
评论
2 楼 kainsas 2007-03-22  
记住数据库中该字段设为非空!切忌,我的就是,在没设为非空的时候不起作用,并没有自动向该字段添值
1 楼 kainsas 2007-03-22  
AI,估计他用到了时间戳或者版本信息,也不说明一下,各位又和我一样的请记住,像上面的情况,必须使用时间戳或者版本信息才可以,像这样:
    <id name="id" type="java.lang.String">
    <column name="id" length="32" />
    <generator class="assigned"></generator>
    </id>
    <timestamp name="timeStamp"  generated="always"
    column="timestamp" unsaved-value="null" source="vm" access="property">
    </timestamp>

相关推荐

    Hibernate3.1帮助文挡

    **Hibernate 3.1 帮助文档** Hibernate 是一个流行的开源对象关系映射(ORM)框架,它允许Java开发者将数据库操作与业务逻辑解耦,通过对象模型进行数据操作。Hibernate 3.1 版本是其发展过程中的一个重要里程碑,...

    hibernate3.1参考手册中文版

    《Hibernate 3.1 参考手册中文版》是一份详尽阐述Hibernate框架的重要资源,对于Java开发者来说,它是理解并掌握ORM(对象关系映射)技术不可或缺的工具。Hibernate作为一个开源的Java库,它允许开发者将Java类与...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     3.1 创建Hibernate的配置文件  3.2 创建持久化类  3.3 创建数据库Schema  3.4 创建对象-关系映射文件  3.4.1 映射文件的文档类型定义(DTD)  3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过...

    Hibernate学习笔记第一次课

    我们的重点是Hibernate 3.1版本,虽然较旧,但仍然是许多项目中的基石。 1. Hibernate概述: Hibernate是一个开源的ORM框架,它允许开发人员使用Java对象来操作数据库记录,而无需直接编写SQL语句。这提高了代码的...

    hibernate视频

    根据提供的文件信息,“邹波hibernate50讲”这一视频教程主要涵盖了Hibernate框架的相关知识点。Hibernate是一个开源的对象关系映射(Object Relational Mapping,简称ORM)框架,它为Java应用提供了一种将对象模型...

    hibernate学习必备资料

    本资料集合主要围绕《Hibernate 3.1参考手册中文版》展开,旨在帮助初学者和进阶者深入理解和掌握Hibernate的核心概念与实际应用。 一、Hibernate概述 Hibernate是一个开源的ORM框架,它提供了一种在Java应用程序中...

    hibernate学习文档

    ### Hibernate 学习文档知识点详解 #### 一、概述 Hibernate 是一款开源的对象关系映射 (Object Relational Mapping, ORM) 框架,它能够将 Java 应用程序中的对象模型与数据库的关系模型进行映射,使得开发人员...

    Hibernate Developer Guide

    ### Hibernate 开发者指南知识点详解 #### 一、前言 Hibernate是一款开源的对象关系映射(Object Relational Mapping,简称ORM)框架,它为Java应用提供了对关系型数据库的高效持久化支持。Hibernate的主要特点...

    hibernate开发指南

    **Hibernate 开发指南** Hibernate 是一个开源的对象关系映射(ORM)框架,它为 Java 应用程序提供了数据持久化的解决方案。...推荐参考《Hibernate3.1参考手册中文版.pdf》进一步了解和掌握 Hibernate 的各项功能。

    Hibernate 工作原理图Hibernate 工作原理图

    ### Hibernate工作原理详解 #### 一、概述 Hibernate 是一款开放源代码的 ORM(Object Relational Mapping)框架,它能够将 Java 类与数据库表建立映射关系,从而简化了持久层的操作。通过 Hibernate,开发人员...

    Hibernate3.6应用实例详解

    ### Hibernate 3.6 应用实例详解 #### 一、引言 Hibernate是一个非常流行的开源对象-关系映射(Object-Relational Mapping,ORM)框架。它为开发者提供了简化数据库操作的方式,允许使用面向对象的方式来操作关系型...

    Hibernate缓存机制

    ### Hibernate缓存机制详解 #### 一、Hibernate缓存机制原理及配置 **1.1 Hibernate缓存概述** Hibernate作为一款流行的Java持久层框架,其缓存机制是提高应用程序性能的关键之一。缓存的主要作用在于减少数据库...

    精通hibernate:对象持久化技术孙卫琴第二版part2

    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实体对象操纵

    **Hibernate实体对象操纵** 在Java开发中,Hibernate是一款非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库数据。本篇文章将深入探讨Hibernate中的...

    学习hibernate时记的笔记

    **hibernate笔记** 在Java世界中,Hibernate是一款强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式处理数据。以下是对Hibernate的学习笔记: ### 1. Hibernate概述 ...

    spring与hibernate

    《Spring与Hibernate整合实现CURD详解》 在Java Web开发领域,Spring框架和Hibernate ORM工具是两个非常重要的组件。Spring以其强大的依赖注入、AOP(面向切面编程)以及丰富的MVC支持闻名,而Hibernate则作为优秀...

    精通Hibernate:对象持久化技术第二版part3

    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 对象持久化技术详解(第2版).part4

     3.1 创建Hibernate的配置文件  3.2 创建持久化类  3.3 创建数据库Schema  3.4 创建对象-关系映射文件  3.4.1 映射文件的文档类型定义(DTD)  3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     3.1 创建Hibernate的配置文件  3.2 创建持久化类  3.3 创建数据库Schema  3.4 创建对象-关系映射文件  3.4.1 映射文件的文档类型定义(DTD)  3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     3.1 创建Hibernate的配置文件  3.2 创建持久化类  3.3 创建数据库Schema  3.4 创建对象-关系映射文件  3.4.1 映射文件的文档类型定义(DTD)  3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过...

Global site tag (gtag.js) - Google Analytics