最近项目要求某些表记录数据的插入时间和更新时间:
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
@Entity
public class Wangwang {
private Integer id;
private User owner;
private boolean deleted;
private Date createdTime = new Date();
private Date updatedTime;
@Id
@GeneratedValue
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@ManyToOne
public User getOwner() {
return owner;
}
public void setOwner(User owner) {
this.owner = owner;
}
@Column(nullable = false)
public boolean isDeleted() {
return deleted;
}
public void setDeleted(boolean deleted) {
this.deleted = deleted;
}
@Column(updatable=false)
public Date getCreatedTime() {
return createdTime;
}
public void setCreatedTime(Date createdTime) {
this.createdTime = createdTime;
}
@Column(columnDefinition="TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", updatable=false)
public Date getUpdatedTime() {
return updatedTime;
}
public void setUpdatedTime(Date updatedTime) {
this.updatedTime = updatedTime;
}
}
createdTime记录插入数据的时间,updatedTime记录更新数据的时间。要注意@Column注解的updatable=false,否则更新数据时,时间戳会先被MySQL修改为当前时间,然后Hibernate的更新语句会把时间改回原来的值。
利用MySQL的触发器也可实现此功能: http://lanhuidong.iteye.com/blog/765134
分享到:
相关推荐
### C# 批量插入和更新数据的知识点详解 #### 一、背景介绍 在数据库应用开发中,尤其是在处理大量数据的时候,批量插入和更新数据是提高效率的关键技术之一。传统的单条插入或更新方式在面对大数据量时,不仅耗时...
C#批量插入,更新ORACLE 保存100万条数据大概3-5秒 保存或者更新100万条数据大概20秒 DataTable保存100万条数据大概1-2分钟 可能因环境原因时间有差异,不过可以看出性能还是很大提升的
kettle数据抽取、数据清洗、数据装换, 作业根据时间戳更新插入数据完整demo 1、先获取时间戳 2、删除目标库大于时间戳的 3、数据同步,获取源表跟目标表大于时间戳的,比较, 目标表多的删除, 少的插入更新 4...
MySQL 大批量数据插入是指在短时间内将大量数据插入到 MySQL 数据库中,需要设计目标要求能支持平均每秒插入 1000 条数据以上。MySQL 提供了多种方法来实现大批量数据插入,包括使用批量插入语句、使用 LOAD DATA ...
这里我们关注的是如何正确地插入时间型数据的空值(NULL)。在SQL Server 2000中,时间型数据类型通常包括`datetime`,它存储日期和时间信息。当你尝试直接插入`null`时,由于数据库默认行为,可能会被转化为1900年1...
本篇文章将详细探讨《数据结构》中链表的插入和删除操作,旨在帮助学习者深入理解并熟练掌握这一核心概念。 首先,我们来了解链表的基本构成。链表由一系列节点组成,每个节点包含两部分:数据域(存储数据)和指针...
### 数据结构之折半插入排序 #### 知识点概览 1. **折半插入排序的基本概念** 2. **折半插入排序算法原理** 3. **折半插入排序的时间复杂度分析** 4. **折半插入排序的空间复杂度分析** 5. **折半插入排序与普通...
6. **并行插入**:如果数据库支持,可以考虑并行插入,即同时开启多个线程或进程进行数据插入。 7. **异步处理**:在某些应用环境中,可以采用异步插入,将数据先放入队列,后台服务负责批量处理,避免阻塞主线程。...
特别是在处理大量数据时,如何高效地执行批量插入或更新操作对于提高应用程序性能至关重要。Oracle ODP.NET(Oracle Data Provider for .NET)作为Oracle官方提供的.NET数据提供程序,提供了丰富的功能来支持这一...
本文将深入探讨在`vector`和`list`中插入数据的方法、性能差异以及适用场景。 **一、std::vector** `std::vector`是一个动态数组,提供了随机访问的能力。它的插入操作主要有以下几种: 1. **在末尾插入元素**: `...
通过以上测试结果,我们可以看到,Solr 数据库插入全量和增量索引可以正确地将数据插入 Solr 索引库中,并且可以实时地更新索引。在实际应用中,我们可以根据实际情况选择全量索引或增量索引,以满足不同的业务需求...
数据插入数据库5种方式工具源码 功能描述: 基本Insert Into 单线程Bulk Insert 多线程Bulk Insert 单线程SqlBulkCopy 多线程SqlBulkCopy 试验的5种方法,比较各种方法的导入速度 要把导入的文件放在C盘如:c:\\20...
在MySQL数据库中,数据插入效率是数据库性能优化的关键因素,特别是在大数据量的场景下。本文主要探讨了四种不同的数据插入方式及其效率差异。 1. 单条插入:这是最基本的方式,通过for循环逐条执行INSERT语句。...
在 WPS PPT 中,插入自动更新时间的设置是非常有用的功能,能够自动更新当前日期和时间,避免手动输入日期和时间的麻烦。下面是关于 WPS PPT 中插入自动更新时间的设置的详细介绍: 1. 打开 WPS PPT 软件,新建一个...
- **批大小调整**: 根据服务器性能和内存情况,调整一次批量插入的数据量,避免内存压力过大或数据库压力过重。 - **延迟加载和批处理**: 对于ORM,关闭延迟加载并使用批处理查询可以显著提升性能。 - **预编译...
为了显示时间,开发者可以创建一个计时器组件,每当有数据插入时,触发事件并更新状态栏中的文本,显示当前的日期和时间。 实现这一功能需要以下步骤: 1. 创建状态栏:在应用程序设计阶段,设置状态栏控件并为其...
实验二 DML 语言一(数据插入、修改和删除) 通过本实验,学生可以熟练掌握基本表的插入、删除与修改,并为后继学习作准备。本实验主要涉及到 SQL Server Management Studio 的使用、基本表的插入、删除与修改、T-...
我们可以通过插入"日期和时间"、设置其位置和自动更新日期和时间来完成这个任务。希望本文能够帮助您更好地使用WPS的PPT。 延伸知识点 ------------- ### WPS的PPT的其他功能 除了插入自动更新的时间设置外,WPS...
直接插入排序是一种简单直观的排序算法,它是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。在数据量较小或者部分数据已经有序的情况下,直接插入排序能展现出较好的效率。...