- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个像这样的嵌套实体
@Entity
@Table(name = "daily_past_prices")
public class DailyPastPrice {
@Id
private String symbol;
@OneToMany(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
@JoinColumn(name = "symbol")
private List<DailyPrice> prices = null;
public String getSymbol() {
return symbol;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public List<DailyPrice> getPrices() {
return prices;
}
public void setPrices(List<DailyPrice> prices) {
this.prices = prices;
}
}
@Entity
public class DailyPrice {
@Id
@Temporal(TemporalType.TIMESTAMP)
private Date date;
private String price;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
}
我将日期保存在 Temporal.TIMESTAMP 中,这意味着日期像 1555732546000
一样保存在数据库中。现在我需要查询特定日期之后的值。所以我设置了一个像这样的存储库
@Repository
public interface DailyPastPriceRepo extends JpaRepository<DailyPastPrice,String> {
DailyPastPrice findBySymbolAndPricesDateAfter(String symbol, Date date);
}
我在 Controller 中有一个像这样的方法
@GetMapping("/{symbol}/{upto}")
private ResponseEntity<DailyPastPrice> getDayWisePastPrice(@PathVariable String symbol,@PathVariable int upto) throws ParseException {
DailyPastPrice pastPrice = dailyPastPriceRepo.findBySymbol(symbol.toUpperCase());
Date date = CurrentDate.getPreviousDates(upto);
System.out.println("1 day before "+date);//this gives me a date before one day if upto is 1 like this Fri Apr 19 11:50:52 IND 2019
DailyPastPrice ppBefore1d = dailyPastPriceRepo.findBySymbolAndPricesDateAfter(symbol.toUpperCase(),date);
if (ppBefore1d == null){
return new ResponseEntity<>(ppBefore1d, HttpStatus.NOT_FOUND);
}
return new ResponseEntity<>(ppBefore1d, HttpStatus.OK);
}
但是我得到了null
,因此NOT_FOUND
。我是否需要在查询时将 Fri Apr 19 11:50:52 IND 2019
转换为 long
(如 1555732546000
),但随后它将是 long
类型,然后我将无法像 dateAfter
那样查询它。那么我怎样才能做到这一点呢?任何帮助,将不胜感激。谢谢
最佳答案
您需要设置日期,例如:
int milliseconds = 8645163154;
java.sql.Date d = new java.sql.Date(milliseconds);
如果您想在一天之后或之前添加一天,则可以进行相同的计算:
int oneDay = 1000 * 60 * 60 * 24; // 86400000
您还可以在存储库中使用 @Query
注释来进一步纠正您的问题。
关于java - 如何在JPA Spring Boot中的嵌套对象中通过Temporal.TIMESTAMP进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55770796/
标题基本上说明了一切。 我主要对更新案例感兴趣。假设我们正在尝试更新具有时间戳记字段的记录,并且我们希望将该字段设置为记录更新的时间戳记。有没有办法做到这一点? 最佳答案 经过一些实验,我找到了合适的
我正在学习一门类(class),其中我必须将日期转换为 unix 时间戳。 import pandas as pd df = pd.read_csv('file.csv') print type(df
我在两个不同的数据库中运行了相同的语句:我的本地数据库和 Oracle Live SQL . CREATE TABLE test( timestamp TIMESTAMP DEFAULT SY
我在两个不同的数据库中运行了相同的语句:我的本地数据库和 Oracle Live SQL . CREATE TABLE test( timestamp TIMESTAMP DEFAULT SY
bson.timestamp.Timestamp需要两个参数:time 和 inc。 time 显然是存储在 Timestamp 中的时间值。 什么是公司?它被描述为递增计数器,但它有什么用途呢?它应
2016-08-18 04:52:14 是我从数据库中获取的时间戳,用于跟踪我想从哪里加载更多记录,这些记录小于该时间 这是代码 foreach($explode as $stat){
我想将 erlang:timestamp() 的结果转换为正常的日期类型,公历类型。 普通日期类型表示“日-月-年,时:分:秒”。 ExampleTime = erlang:timeStamp(),
我想将 erlang:timestamp() 的结果转换为正常的日期类型,公历类型。 普通日期类型表示“日-月-年,时:分:秒”。 ExampleTime = erlang:timeStamp(),
我是 Java 新手。我正在使用两个 Timestamp 对象 dateFrom和dateTo 。我想检查是否dateFrom比 dateTo早 45 天。我用这个代码片段来比较这个 if(dateF
在将 panda 对象转换为时间戳时,我遇到了这个奇怪的问题。 Train['date'] 值类似于 01/05/2014,我正在尝试将其转换为 linuxtimestamp。 我的代码: Train
我正在努力让我的代码运行。时间戳似乎有问题。您对我如何更改代码有什么建议吗?我看到之前有人问过这个问题,但没能成功。 这是我在运行代码时遇到的错误:'Timestamp' object has no
我正在尝试运行以下查询: SELECT startDate FROM tests WHERE startDate BETWEEN TIMESTAMP '1555248497'
我正在使用 Athena 查询以 bigInt 格式存储的日期。我想将其转换为友好的时间戳。 我试过了: from_unixtime(timestamp DIV 1000) AS readab
最近进行了一些数据库更改,并且 hibernate 映射出现了一些困惑。 hibernate 映射: ...other fields 成员模型对象: public class Mem
rng = pd.date_range('2016-02-07', periods=7, freq='D') print(rng[0].day) print(rng[0].month) 7 2 我想要
rng = pd.date_range('2016-02-07', periods=7, freq='D') print(rng[0].day) print(rng[0].month) 7 2 我想要
我必须在我的数据库中保存 ServerValue.TIMESTAMP 但它必须是一个字符串。当我键入 String.valueOf(ServerValue.TIMESTAMP); 或 ServerVa
在我的程序中,每个表都有一列 last_modified: last_modified int8 DEFAULT (date_part('epoch'::text, now()::timestamp)
我想将此时间戳对象转换为日期时间此对象是在数据帧上使用 asfreq 后获得的这是最后一个索引 Timestamp('2018-12-01 00:00:00', freq='MS') 想要的输出 2
我有一个包含时间序列传感器数据的大表。大型是指分布在被监控的各个 channel 中的从几千到 10M 的记录。对于某种传感器类型,我需要计算当前读数和上一个读数之间的时间间隔,即找到当前读数之前的最
我是一名优秀的程序员,十分优秀!