我在 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)