小编Sil*_*orm的帖子

在 JPA MySql 中存储与时区无关的时间的最佳方法

我在 JPA 中找不到一个好的解决方案来将与时区无关的时间存储在 mysql 数据库中。

我有一个轮班表,我需要在其中存储每个轮班的开始和结束时间。

+-------------+--------------+------+-----+----------+----------------+
| Field       | Type         | Null | Key | Default  | Extra          |
+-------------+--------------+------+-----+----------+----------------+
| id          | int(11)      | NO   | PRI | NULL     | auto_increment |
| name        | varchar(64)  | NO   |     | NULL     |                |
| start_time  | time         | NO   |     | 00:00:00 |                |
| end_time    | time         | NO   |     | 00:00:00 |                |
+-------------+--------------+------+-----+----------+----------------+
Run Code Online (Sandbox Code Playgroud)

因此,从 mysql 检索的开始/结束时间必须被视为字符串(不应用特定时区)。但是,如果我将它们存储为 varchar(8),则无法使用以下查询(不应用从 varchar 到 time 的任何类型转换)。

select * from shift …
Run Code Online (Sandbox Code Playgroud)

java mysql sql spring-data-jpa spring-boot

5
推荐指数
1
解决办法
1279
查看次数

标签 统计

java ×1

mysql ×1

spring-boot ×1

spring-data-jpa ×1

sql ×1