产生异常:HibernateOptimisticLockingFailureException_Jeenyyin的博客-程序员秘密

技术标签: HibernateOptimisticLockingFailureEx  

org.springframework.orm.hibernate4.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
问题原因:使用的是hibernate的saveOrUpdate方法保存实例。saveOrUpdate方法要求ID为null时才执行SAVE,在其它情况下执行UPDATE。在保存实例的时候是新增,但你的ID不为null,所以使用的是UPDATE,但是数据库里没有主键相关的值,所以出现异常。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Jeenyyin/article/details/99829526

智能推荐

加密部分内容(敏感信息,如密码,用户名等...)(PHP代码函数)_php 加密敏感数据_monxinmonxin0的博客-程序员秘密

//加密部分内容(敏感信息,如密码,用户名等...)(PHP代码函数)//代码来源:Monxin ./config/functions.phpfunction encryption_str($str){ if($str==''){return $str;} $length=mb_strlen($str,'utf-8'); switch($length){ case 1: re

函数式编程中的Functor详解_隐冬的博客-程序员秘密

函子的英文叫做Functor,在了解函子之前我们先来说一下容器,容器包含值和值的变形关系,变性关系指的就是函数。所以容器是包含值和处理值的函数。其实函子就是一个特殊的容器,我们可以把函子想象成一个盒子,那这个盒子里面有一个值,并且这个盒子对外要公布一个方法,这个方法我们叫做map,map方法会去接收一个参数,这个参数是一个对值进行处理的函数。这就是函子的基本概念。首先说一下为什么要学习函子,我们知道,函数式编程是建立在数学思想上的,比如说我们的纯函数其实就是数学中的函数,那我们要学习的函子也是建立在数学

ABAP定义Range_abap range_会SAP的华华的博客-程序员秘密

**ABAP定义Range**Range使用Range Table为SAP R/3系统标准内表的一种,结构与Selection Table一致,由SIGN,OPTION,LOW,HIGH字段组成。Range Table 常用于 Open SQL 语句中的条件筛选,变式判断,可以优化取数效率与程序性能.当然要注意 RANGE 的行项目有上限的,在 ECC6 中大概 2 万行将导致 ABAP DUMP。定义DATA: range_tab {TYPE RANGE OF type} | {LIKE R

线性表——学习笔记_悠哉的zju的博客-程序员秘密

2.1 线性表的基本概念 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 2.3.1 线性链表 2.3.2 循环链表 2.3.3 双向链表 2.4 一元多项式的表示和运算2.1线性表的基本概念线性表是n个相同类型的数据元素的有限序列。L = (al , a2, … , ai , … , an) 线性表中元素的个数n(n>=0)定义为线性表的长度,n=0时称为空表。逻辑特征:  若至少含有一个元素,则只有唯一的起始元素;

音视频系列--rtmp直播推流学习(硬编)_rtmp加密_narkang的博客-程序员秘密

上一篇介绍了怎么搭建流媒体服务器,这一篇打算利用这个流媒体服务器,实现rtmp音视频的推流服务。实现效果如下,右边是模拟器推流端,左边是利用vlc来测试推流情况。直播源是使用MediaProjection来实现,之前有学习怎么用它投屏。rtmp介绍下载地址rtmp导入#子文件cmakelist#关闭ssl 不支持rtmps rtmp 加密 传递一变量 进制 加密验证set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNO_CRYPTO" )file(GL

2021.3.12学习总结+作业_一只橙子。的博客-程序员秘密

一、str1.字符串格式化 - 字符串格式占位符1.1字符串占位符语法:包含字符串站位符的字符串%(数据1,数据2,数据3······)说明字符串占位符%s - 字符串对应的占位符(可以用任何类型的数据赋值)%d - 整数对应的占位符%f - 小数对应的占位符(默认保留6位小数);%.Nf - 保留N位小数数据数据的个数必须和前面占位符的个数保持一致数据可以是任何有结果的表达式当只有一个数据的时候小括号可以省略nam

随便推点

新浪微博搜索结果数据抓取_weixin_33918114的博客-程序员秘密

项目需要在抓取新浪微博搜索结果数据,顺手做了个工具,以实现在新浪微博搜索中自动抓取配置的关键字的搜索结果。在此分享一下。先看一下新浪微博搜索结果页面的源码:可以看到,得到的并不是普通html,都是通过js调用的。其中汉字全部是经过编码的。文本元素全部都是上图红框中的格式,要得到搜索结果就需要对红框中的文本进行解析。其中用到了jsoup 和 fast...

EasyUI中分页的简单使用_easyui 分页_忆水思寒的博客-程序员秘密

场景 效果 属性 名称类型描述默认值totalnumber记录总数,应该在创建分页(pagination)时设置。1pageSizenumber页面尺寸。(注:每页显示的最大记录数)10pageNumbernumber创建分页(pagination)时显示的页码。1pageListarray用户能改变页面尺寸。pageList 属性定义了能改成多大的尺寸。 代码实例:   ...

RxPermissions 获取权限 (简单使用)_weixin_45314961的博客-程序员秘密

这里写自定义目录标题RxPermissions 获取权限 (简单使用)RxPermissions 获取权限 (简单使用) //创建RxPermissions RxPermissions rxPermissions = new RxPermissions(this); rxPermissions.request( ...

使用plotly画出堆叠的3D图形_python3d图--堆叠三维图_frank_haha的博客-程序员秘密

import plotly.graph_objects as goimport pandas as pdfrom ase import Atomsimport numpy as npfrom ase.calculators.emt import EMTimport mathH1 = np.linspace(0.5, 3, 100)H2 = H1def scan_energy_surface(sita): e_surface = {} for H1_position in

ADO_NET数据库连接示例_OneAero的博客-程序员秘密

ADO.NET包括两部分1.程序端数据集 包括DataSet/DataTable/DataRow2..NET Framwork数据提供程序 包括Connection/DataAdapter/DataReader/Commander///简单的例子:using System;using System.Collections.Generic;using System.Linq;using System

推荐文章

热门文章

相关标签