当前位置: 首页 > 面试题库 >

如何自动生成创建或修改的时间戳字段?

张兴旺
2023-03-14
问题内容

我的实体类:

@Entity
@Table(name = "user")
public class User implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @SequenceGenerator(name = "USER_ID_GENERATOR", sequenceName = "USER_SEQ")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USER_ID_GENERATOR")
    @Column(name = "user_id")
    private long userId;


    @Temporal(TemporalType.DATE)
    private Date created;

    @Temporal(TemporalType.DATE)
    private Date modified;

    //setters and getters...
}

我想在创建或修改对象时将CREATED和MODIFIED字段自动互补。CREATED和MODIFIED字段应为TIMESTAMP类型。

我该如何实现?


问题答案:

您只要在创建new Date()实例时就创建一个,然后updated在实体更新时就更新该字段:

private Date created = new Date();
private Date updated = new Date();

@PreUpdate
public void setLastUpdate() {  this.updated = new Date(); }

不要为这些方法中的任何一种提供设置器,仅提供获取器。



 类似资料:
  • 问题内容: 我想在实体对象上添加一个Date / DateTime / Timestamp字段,该字段将在创建/持久化实体并将其设置为“现在”时自动创建,永远不再更新。 其他用例包括的字段始终会更新为包含实体的最后修改日期。 我以前是在mysql模式中达到这种要求的。 在Play中做到这一点的最佳方法是什么!/ JPA? 问题答案: 您可以使用一个代码片段来实现所需的功能。看一看:

  • 本文向大家介绍ubuntu中修改grub的启动时间生成,包括了ubuntu中修改grub的启动时间生成的使用技巧和注意事项,需要的朋友参考一下 网上查询修改grub的启动时间基本上是修改 /etc/default/grub 然后运行update-grub重新生成/boot/grub/grub.cfg.然而这并不管用,依旧要等待30秒 查看/boot/grub/grub.cfg 从上面的配置可以看到

  • 问题内容: mysql有什么方法可以在创建时自动将时间戳存储在记录行中。我试图将timestamp(数据类型)与current_timestamp用作默认值,但后来意识到,每当记录更新时,它将更新。我只需要一些可以存储创建时间戳记的东西。 谢谢 问题答案: 设置DEFAULT约束以使用CURRENT_TIMESTAMP: 对于现有表,请使用ALTER TABLE语句: 除非您为date_colum

  • 问题内容: 每当我在Eclipse中创建一个新的Java文件并选中add选项时,都会生成以下代码: 我如何: 删除评论 更改缩进,以使每个{都位于一行上 删除TODO自动生成的注释 问题答案: 缩进是格式问题,而注释是模板问题。 模板位于 窗口- >首选项-> Java->代码样式->代码模板中。浏览所有这些内容,并查找您想要更改的内容。 格式化程序有点复杂。您可以在 Window- > Pref

  • 本文向大家介绍python如何快速生成时间戳,包括了python如何快速生成时间戳的使用技巧和注意事项,需要的朋友参考一下 结果是 知识点扩展: 获取秒级时间戳与毫秒级时间戳、微秒级时间戳 返回 获取当前日期时间 返回 到此这篇关于python如何快速生成时间戳的文章就介绍到这了,更多相关python生成时间戳的简单方法内容请搜索呐喊教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持呐喊教

  • 系统支持自动写入创建和更新的时间戳字段(默认关闭),有两种方式配置支持。 第一种方式是全局开启,在数据库配置文件中进行设置: // 开启自动写入时间戳字段 'auto_timestamp' => true, 第二种是在需要的模型类里面单独开启: <?php namespace app\index\model; use think\Model; class User extends Model