首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

Hibernate3.1 -saveorUpdate的再度疑问

2012-11-07 
Hibernate3.1 ----saveorUpdate的再次疑问!最近用Struts1.1+Hibernate3.1进行程序设计,遇到了如下问题ID生

Hibernate3.1 ----saveorUpdate的再次疑问!
最近用Struts1.1+Hibernate3.1进行程序设计,遇到了如下问题

ID生成策略采用 generator type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator />
</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的语句,到底怎么回事??他说的时否正确,我目前程序就遇到这里,希望能够给解释一下
    <column name="id" length="32" />
    <generator
    column="timestamp" unsaved-value="null" source="vm" access="property">
    </timestamp> 2 楼 kainsas 2007-03-22   记住数据库中该字段设为非空!切忌,我的就是,在没设为非空的时候不起作用,并没有自动向该字段添值

热点排行