随笔 - 832  文章 - 2  评论 - 31  阅读 - 167万

@Temporal()注解的使用

数据库的字段类型有date、time、datetime
而Temporal注解的作用就是帮Java的Date类型进行格式化,一共有三种注解值:

  第一种:@Temporal(TemporalType.DATE)——>实体类会封装成日期“yyyy-MM-dd”的 Date类型。

  第二种:@Temporal(TemporalType.TIME)——>实体类会封装成时间“hh-MM-ss”的 Date类型。

  第三种:@Temporal(TemporalType.TIMESTAMP)——>实体类会封装成完整的时间“yyyy-MM-dd hh:MM:ss”的 Date类型。

@Temporal注解的定义:

@Target({ METHOD, FIELD })
@Retention(RUNTIME)
public @interface Temporal {
    /**
     * The type used in mapping <code>java.util.Date</code> or <code>java.util.Calendar</code>.
     */
    TemporalType value();
}

TemporalType枚举类型定义:

复制代码
package javax.persistence;

/**
 * Type used to indicate a specific mapping of <code>java.util.Date</code>
 * or <code>java.util.Calendar</code>.
 *
 * @since Java Persistence 1.0
 */
public enum TemporalType {
    /**
     * Map as <code>java.sql.Date</code>
     */
    DATE,

    /**
     * Map as <code>java.sql.Time</code>
     */
    TIME,

    /**
     * Map as <code>java.sql.Timestamp</code>
     */
    TIMESTAMP
}
复制代码

应用example:

 

 

 

 

 

注解方式有两种:

  写在字段上:

    @Temporal(TemporalType.TIMESTAMP)
    private Date birthday;

  写在 getXxx方法上:

  @Temporal(TemporalType.DATE)
    @Column(name = "birthday", length = 10)
    public Date getBirthday() {
        return this.birthday;
    }
posted on   小破孩楼主  阅读(484)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示