database - 如何在 Spring Data JPA 中保持时间

标签 database spring spring-data-jpa

如何在 Spring Data JPA 中保持时间(没有日期)?现在我把它保存在 String 中。例如:“10:45”。但这样我就无法在时间之间返回值,例如: repository.findTimeBetween(String startTime, String endTime)

最佳答案

如果您将时间作为字符串存储在数据库中,则无法使用它进行比较,而是需要将时间值存储为数字类型。

使用 Java8:

使用java.time.LocalTime API并将时间值作为integer(big int)类型存储在数据库中。然后,您可以使用存储库。 findByStartDateBetween(time1,time2).

以下两个 LocalTime API 方法对于从 long 到 LocalTime 以及 String 到 LocalTime 对象的转换很有帮助。

static LocalTime ofSecondOfDay(long secondOfDay)

从第二天的值获取 LocalTime 的实例。

static LocalTime parse(CharSequence text)

从文本字符串(例如 10:15)获取 LocalTime 实例。

可以引用API here

不使用 Java8:

如果您不使用 Java8,则可以使用 Joda 时间库。

您可以引用here

关于database - 如何在 Spring Data JPA 中保持时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40368585/

相关文章:

java - Spring中如何调用存储过程读取返回值和输出参数?

java - 使用 Angular 和 Spring Boot 从本地主机获取数据

java - 为什么 Spring 会从 Singleton 类创建 2 个对象?

java - 从两个数据库同步获取结果

ruby-on-rails - 回滚特定迁移而不回滚其他迁移

python - 如何在 Django 中连接来自不同应用程序的模型?

mysql - 指定 OUTFILE 路径

java - 与 Collection<Integer> 的一对多

java - ManyToMany - JPA - 如何从映射生成的表中获取数据?

java - Spring MVC Hibernate没有xml使用DriverManagerDataSource如何映射属性