最近在写网上商城项目时,遇到一个问题:Hibernate在执行save()或者update()方法后,并没有任何效果,数据库中没有任何改动,而且控制台也没有报任何错,这让我很无语……

我在网上查了下,有的人说是主键的自增长问题,有的人说是没有开启事务,所以无法写入或更新数据库,我详细看了他们的分析,说的都有道理,但是这些解决方法对我都不管用,因为我的主键是没有问题的,事务是由Spring管理的,在其他save操作都可以,都没有问题。

既然客观上都没有问题,于是我把焦点放在了具体要save或update的对象上了,对POJO做了仔细的分析,首先看一下我要save的对象对应数据库中的表:

/*=============================*/

/* Table: 商品表结构 */

/*=============================*/

create table product

(

/* 商品编号,自动增长 */

id int primary key not null auto_increment,

/* 商品名称 */

name varchar(50),

/* 商品价格 */

price decimal(8,2),

/* 商品图片 */

pic varchar(300),

/* 商品简单介绍 */

remark longtext,

/* 商品详细介绍 */

xremark longtext,

/* 商品生产日期 */

date timestamp default CURRENT_TIMESTAMP,

/* 是否为推荐商品,推荐商品才有可能显示在商城首页 */

commend bool,

/* 是否为有效商品,有效商品才有可能显示在商城首页 */

open bool,

/* 商品所在的类别编号*/

cid int,

constraint cid_FK foreign key(cid) references category(id)

);

然后具体的POJO就不贴上来了,就是根据这张表生成的一些字段属性以及set和get方法。我觉得最有可能出问题的字段应该就是这个时间date,于是我看了下POJO里关于date的代码:

@Entity

public class Product implements java.io.Serializable {

// Fields

private Timestamp date;

//省略其他无关代码……

@Column(name = "date", nullable = false, length = 19)

public Timestamp getDate() {

return this.date;

}

public void setDate(Timestamp date) {

this.date = date;

}

}

于是我再一次上网搜索了这个Timestamp,发现问题就出在这,将Timestamp改成java.util.Date即可。然后传进来一个Date对象,Hibernate会自动转成Timestamp类型。

这个问题也给我一个启示:无法执行数据库操作也有可能是对象本身的问题,要从表的字段和POJO属性之间来排查。

以上就是本文的全部内容,希望对大家的学习有所帮助。

java执行update的方法_解决Hibernate4执行save()或update()无效问题的方法相关推荐

  1. 解决Hibernate4执行update操作,不更新数据的问题

    解决Hibernate4执行update操作,不更新数据的问题 参考文章: (1)解决Hibernate4执行update操作,不更新数据的问题 (2)https://www.cnblogs.com/ ...

  2. arduino win10闪退_解决Win10天气应用闪退的两种方法

    Windows系统中都自带天气应用,但是安装了Win10系统后,就发现,打开天气应用出现闪退的情况,其他应用都正常,这要怎么解决呢?下面小编告诉大家解决Win10天气应用闪退的两种方法. 方法一 1. ...

  3. java console不见了_解决eclipse中console控制选项不见了的方法

    eclipse是一款用于编译java语言的程序,利用这款软件我们可以制作很多有趣的小程序,也可以制作一些大型的软件项目.在实际的操作中,eclipse是由多个工具栏组成的,其中console就是用于查 ...

  4. java在win8闪退_解决Win8/Win8.1系统下的IE11闪退的六种方法

    相较于IE10浏览器以前的版本,IE11有了很较大的提升.界面呈扁平化的风格,浏览网页时给人一种很清新的感觉.不过有部分使用win8或者win8.1操作系统的用户却有遇到安装的IE11会有闪退的困扰, ...

  5. vue进入页面执行的钩子函数_解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题...

    项目需求:图片加载时,当鼠标滚动至当前图片进行加载并加上上滑特效,实现这个效果需要对文档文档滚动位置和图片的当前位置进行比较.但是mounted 钩子函数执行时img图片并未加载出来也就是占位为空,导 ...

  6. python打包包含所有依赖_解决Python开发过程中依赖库打包问题的方法

    在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误. 除了一遍又一遍对着被抛出错误去重新instal ...

  7. cad2020安装1603错误_解决CAD安装过程中出现1603致命错误的方法

    原标题:解决CAD安装过程中出现1603致命错误的方法 安装AutoCAD的时候,出现致命错误,提示1603错误,如下图所示,应该如何解决 出现这个问题,可尝试一下方法解决 1.删除安装程序,找到一下 ...

  8. centos java 时间差8个小时_解决Centos7本机时间与实际时间相差8小时

    GPS系统中有两种时间区分,UTC就0时区的时间,CTS为本地时间,如北京为早上八点(东八区),UTC时间比北京时晚八小时; CTS:China Standard Time,UTC+8:00 中国沿海 ...

  9. win7计算机无法右键,win7右键无法使用怎么办_解决win7点击鼠标右键没反应的方法...

    我们在使用win7系统电脑工作或学习时,电脑可能会出现各种情况,最近就有网友跟小编反映说自己的鼠标右键在点击之后没有任何反应出现了无法使用的情况,那鼠标在我们使用电脑时又是必不可少的,所以今天本文就来 ...

  10. 世界公认最好的记忆方法_世界记忆大师:6种简单实用记忆方法,让孩子成为学霸中学霸...

    绝大部分成绩好的孩子,都是与记忆力好坏相关,而成绩差的孩子也付出了相应的努力,但就是怎么学都学不好.当然了,这个世界是没有笨小孩,只要坚定信心,每天坚持记忆方法训练,每个孩子都可以成为一名学霸中的学霸 ...

最新文章

  1. 去年秋招,我学长拿了7个Offer,他是怎么做到的?
  2. 浅谈PostgreSQL的索引
  3. 传统公司部署OpenStack(t版)简易介绍(五)——nova模块部署
  4. 视频教程-汇编语言程序设计VII-其他
  5. r 对一列计数_根据另一列对项目进行计数
  6. JProfiler安装、激活
  7. python股票技术指标计算,python股票量化交易(3)---趋势类指标MACD
  8. Vue全家桶之vue-router
  9. Centos7配置阿里云的镜像加速器(2)
  10. [从头读历史] 第310节 星球战争 BC2399 至 BC2300(公元前24世纪)
  11. 函数 fseek() 使用说明
  12. Java笔记14-Java高级编程部分-第八章-多线程
  13. c#.net4复杂json读取
  14. 重构:运用Java反射加多态 “干掉” switch
  15. 数据分析(1)Matplotlib基础内容
  16. 人工智能-一种现代的方法 全文总览
  17. Origin科学绘图功能使用(2),Origin中文版2021下载安装教程
  18. 中软国际python机试题_中软国际入职机试题[优质资料]
  19. C语言/C++/数据结构牛客网刷题20200302
  20. 用java画安卓图标_30个高质量并且免费的Android图标【Android Icon素材】

热门文章

  1. This is why you don’t think you’re creative 你为什么会觉得自己没有创造力?
  2. VS生产dll把双目追踪四个圆点计算的物体位姿给unity,在unity中实时变化
  3. Unity中的Time
  4. Atitit everthing placeholder index list 目录 1.1. sumdoc 2019 zipver t1---t91 1 1.2. 00 sumdoc ever
  5. paip.关于动画特效原理 html js 框架总结
  6. paip.提升性能---协程“微线程”的使用.
  7. paip.c++ lua 调用attilax总结.
  8. 关于数据中台,扎克伯格和马化腾做法不同
  9. (转)基金公司:电商部门崛起 “预算岗位无上限”
  10. 读完云原生数仓领导者Snowflake的论文,想要和你们分享这些……