Hibernate UUId saveOrUpdate

问题描述

这个是Hibernate配置文件,奇怪的是,修改之前(没有注释掉的代码)执行template.saveOrUpdate(obj);的时候,总是执行update操作。当修改之后,改成了现在这个样子之后就可以正常更新或者插入了。好奇怪,难道跟数据库表字段长度有关系?正常的如果用UUId主键生成策略的话应该是32位的,而我这里是36位的。=========================配置文件======================<hibernate-mapping><classname="com.richway.notice.domain.Notice"table="T_BUSI_NOTICE_M"><idname="noticeId"type="java.lang.String"><!--这里修改之后的代码--><columnname="NOTICE_ID"length="36"/><!--这里修改之后的代码--><!--这里注释掉的是原先的代码--><!--<columnname="NOTICE_ID"/><generatorclass="uuid"/>--><!--这里注释掉的是原先的代码--></id><propertyname="noticeNm"type="java.lang.String"><columnname="NOTICE_NM"/></property></class></hibernate-mapping>

解决方案

解决方案二:
用uuid.hex

时间: 2024-12-02 09:23:00

Hibernate UUId saveOrUpdate的相关文章

关于hibernate的saveOrUpdate()方法的内部运行原理的疑问?

问题描述 关于hibernate的saveOrUpdate()方法的内部运行原理的疑问? 这个问题会有点模糊,因为我的目的是想知道 session的增删改查底层实现原理,所以我详细看了下(以saveOrUpdate()方法为主)saveOrUpdate的流程,它的底层相当的庞大,我很认真的看源码,但是其中有很大一部分我都看不懂,我想知道从session.saveOrUpdate(Object javaBean)此方法开始到结束,那个作者是怎么想出来的,那么多的成员变量和局部变量,都是用在哪里的,

使用hibernate 的saveOrUpdate方法,更新不了数据

问题描述 使用hibernate的saveOrUpdate方法,更新不了数据,请教?publicvoidupdateTest(Stringnum,Sessionsession){Stringhql="FROMTestaWHEREnum=?";Queryq=session.createQuery(hql);q.setString(0,num);Listlist=q.list();for(inti=0;i<list.size();i++){Testt=(Test)list.get(i

Hibernate save() saveorupdate()的用法第1/2页_JSP编程

一个PO有三种状态: 1.未被持久化的VO 此时就是一个内存对象VO,由JVM管理生命周期 2.已被持久化的PO,并且在Session生命周期内 此时映射数据库数据,由数据库管理生命周期 3.曾被持久化过,但现在和Session已经detached了,以VO的身份在运行 这种和Session已经detached的PO还能够进入另一个Session,继续进行PO状态管理,此时它就成为PO的第二种状态了.这种PO实际上是跨了Session进行了状态维护的. 在传统的JDO1.x中,PO只有前面两种状

Hibernate之saveOrUpdate

一个PO有三种状态: 1.未被持久化的VO 此时就是一个内存对象VO,由JVM管理生命周期 2.已被持久化的PO,并且在Session生命周期内 此时映射数据库数据,由数据库管理生命周期 3.曾被持久化过,但现在和Session已经detached了,以VO的身份在运行 这种和Session已经detached的PO还能够进入另一个Session,继续进行PO状态管理,此时它就成为PO的第二种状态了.这种PO实际上是跨了Session进行了状态维护的.在传统的JDO1.x中,PO只有前面两种状态

hibernate 问题!!!!急急急

问题描述 各位大能,我有个hibernate问题一直没有解决,论坛新人,来寻求解决办法使用的是c/s开发,采用hibernate构建的数据持久层,mysql数据库当我用hibernate的saveorupdate方法修改数据后,点击页面的查询,修改后的值和原来的值相互跳动,不知道为什么?hibernateDao的保存方法:publicvoidsaveOrUpdate(Objecto){Sessionsession=HibernateUtils.openSession();Transactiont

hibernate-Hibernate:用saveOrUpdate报违反主键唯一约束

问题描述 Hibernate:用saveOrUpdate报违反主键唯一约束 用saveOrUpdate往表里面插入数据,结果抛出异常报违反主键唯一: org.hibernate.exception.ConstraintViolationException: Duplicate entry '1-2015-11-02' for key 'PRIMARY' at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQL

hibernate 3 注解,sql2005 自增得不到主键值

问题描述 我使用的是Hibernate3+注解+SQL2005开发系统的.我的POJO是这样配置的"java"packagecom.chinaunicom.pt.domain.entity;importjava.util.Date;importjavax.persistence.*;importjavax.persistence.Entity;importjavax.persistence.FetchType;importjavax.persistence.GeneratedValue

mybatis-Mybatis插入数据库出错

问题描述 Mybatis插入数据库出错 Mybatis插入一条数据到mysql数据库,结果发现主键重复,后台就崩溃了,有没方法可以判断插入操作可不可执行的?谢谢大家... 解决方案 有两种方法 1.插入失败后,捕获异常.把异常转换成相应的文字描述 2.在插入之前,先查询所有的ID到一个set中去,插入之前做判断.set没有才插入 解决方案二: access数据库插入更新出错mybatis连接mysql数据库插入中文乱码mybatis连接mysql数据库插入中文乱码 解决方案三: 如果是 Java

java程序中往list中添加对象

问题描述 java程序中往list中添加对象 我有一个类holiday,属性有name和date.先是声明一个list,List list =new ArrayList();然后就holiday hol =new holiday(name,date);最后使用add方法,list.add(hol);这样做是否正确. 可是当我遍历list时,输出的并不是原来定义的name和date,而是,holiday@89ae9e,请问这样对吗?如果我这样在往数据库里存数据是否可以...... 解决方案 楼上正