【发布时间】:2022-01-22 20:03:26
【问题描述】:
我是 Spring Boot 的新手,正在做一个项目,最近一位经验丰富的开发人员告诉我,在创建实体表时,它有一个应该处理日期的字段,最好的方法是使用 long,像这样:
private Long deliveryDate;
问题是我以前从未见过这样的事情,我不明白这应该如何工作,而且我在任何地方都找不到答案,所以你们认为你们中的一些人可以帮帮我吗?
【问题讨论】:
-
我非常质疑他的“最佳方法”。它是日期还是日期时间?是否涉及时区(如果是日期时间)。为什么他们不使用数据库的本机数据类型?您不能只说“这是最好的,使用它”而不解释为什么它是“最好的”。那是糟糕的软件工程。
-
@Kayaman 我的问题是我是否可以使用 long 而不是 date 或 datetime,或 localdate 或类似的东西
-
是的,但仅仅因为你可以,并不一定意味着你应该。 Timestamp 本质上是一个长值。
-
@Kayaman 说我还想用long,具体应该怎么做?
-
以同样的方式持久化任何 long 值。您只需使用
Long而不是实际有用的日期类,每次需要使用它时进行转换。
标签: java spring spring-boot date