gpt4 book ai didi

java - spring data jpa 根据日期和时间选择值

转载 作者:行者123 更新时间:2023-12-02 06:26:20 25 4
gpt4 key购买 nike

我有一个实体

@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
@Table(name = "REFRESH_TOKENS")
public class JwtRefreshToken {
@Id
@Column(name = "TOKEN")
private String token;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "USER_ID", nullable = false)
private Tbluser user;

@Column(name = "EXPIRATIONDATETIME")
private LocalDateTime expirationDateTime;

public JwtRefreshToken(String token) {
this.token = token;
}

}

对应的存储库是

    JwtRefreshToken findByTokenAndAndExpirationDateTimeBefore( String token, @Param("expirationDateTime")  LocalDateTime localDateTime);

这里有趣的是,即使超出时间,查询也总是返回值。

例如数据库中存储的值为2019-04-21 22:33:08

我当前的日期时间是 2019-04-21T23:02:43.971但上面的 findByTokenAndAndExpirationDateTimeBefore 返回值。

我也想比较时间。

最佳答案

您可以启用调试输出以查看参数化查询及其参数,添加到您的应用程序属性

logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

如果查询不使用@Param("expirationDateTime") LocalDateTime localDateTime,您可能会得到一些线索根本没有,或者存在时区问题,或者一切都很好,你只是误解了结果;)

关于java - spring data jpa 根据日期和时间选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55785000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com