当前位置: 首页 > 知识库问答 >
问题:

spring data jpa在当前日期的时间戳字段上?

花健
2023-03-14
@Query("Select i From Log i Where i.createdBy = :userId And DATE(i.createdDate) = CURRENT_DATE")
@Entity
@Table(name = "log")
public class Log {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "log_id")
    private Long logId;

    @Column(name = "address")
    private String address;

    @Column(name = "created_date", updatable = false)
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "yyyy-MM-dd HH:mm:ss")
    private Calendar createdDate;

    //SETTERS AND GETTERS
}   
CREATE TABLE `log` (
    `log_id` BIGINT(20) NOT NULL AUTO_INCREMENT,
    `address` VARCHAR(30) NOT NULL,
    `created_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`log_id`)
)
ENGINE=InnoDB
;

有什么办法可以做到这一点吗?我们如何在spring data jpa方法名中做到这一点?

共有1个答案

段干兴业
2023-03-14

您可以使用Spring数据存储库来完成此操作,如下所示:

public interface LogRepository extends JpaRepository<Log, Long> {

  // just get one or null
  Log findOneByCreatedByAndCreatedDate(Instant createdBy, Instant createdDate);

  // get all, but pagable
  List<Log> findAllByCreatedByAndCreatedDate(Instant createdBy, Instant createdDate, Pageable pageable);

}

我假设您使用instant作为时间戳,但这也适用于其他Java8日期类型或旧的date类。

在您的业务逻辑中,您现在可以调用:

Log log = logRepository.findOneByCreatedByAndCreatedDate(YOUR_TIMESTAMP, Instant.now());

// or
Log allLogs = logRepository.findOneByCreatedByAndCreatedDate(YOUR_TIMESTAMP, Instant.now(), PageRequest.of(0, 50));
 类似资料:
  • 问题内容: 在模型中,我有一个这样的字段:mydate = models.DateField() 现在,一个javascript图形函数需要unix时间戳,例如“ 1196550000000”,如何返回mydate输入的unix时间戳。 问题答案: 我知道不久前接受了另一个答案,但是这个问题在Google的搜索结果中显得很高,因此,我将添加另一个答案。 如果你在模板级别工作,则可以在过滤器中使用参

  • 我们有带有日期字段(类型date)的表,将时间戳插入日期字段在某些oracle环境中工作(我们有多种开发环境),但在某些环境中失败。

  • 问题内容: 我在显示日期时遇到问题,我将时间戳设置为1379487711,但据此实际时间为2013年9月18日下午12:31:51,但显示的时间为17-41-1970。如何显示为当前时间。 为了显示时间,我使用了以下方法: 问题答案: 请注意,我将时间放在setTimeInMillis中的时间长而不是int,请注意我的日期格式是MM而不是mm( mm是分钟数 ,而不是月数,这就是为什么您将月份值设

  • 本文向大家介绍在MySQL中设置当前日期和时间作为时间戳,包括了在MySQL中设置当前日期和时间作为时间戳的使用技巧和注意事项,需要的朋友参考一下 让我们首先创建一个表。列之一设置为TIMESTAMP- 使用insert命令在表中插入一些记录。在这里,我们使用方法-将当前日期和时间设置为时间戳列- 使用select语句显示表中的所有记录- 这将产生以下输出-

  • 我有一个java实体类TimeEntry.java它的属性之一是Date,它看起来像这样。 对于该字段,在swagger UI模型模式上,字段日期显示为“日期”:“2016-01-08T22:34:22.337Z”,但我需要该字段作为“日期”:“2016-01-08”。 我尝试了以下方法: 请帮帮忙。

  • 我想做一个考勤应用程序,我真的很困惑iOS和Firebase中的日期和时间。