我正在处理postgreSQL
上的一些数据,并使用JPA
规范来获取它们。当在Angular front-end
中显示它们时,我已经看到日期缺少精度,即从2018-01-26 11:48:07.13487
起,日期类似于2018-01-26 11:48:07.134
,即缺少2位精度。现在的问题是,该列是primary key
的一部分,因此以后我将无法进行类似put
的操作,因为日期不匹配。
该问题确实发生在REST服务上。如果我在eclipse上打印数据,日期精度似乎就很好了,但是当我在REST上检查日期精度时,它已经失去了2位精度2018-01-26T10:48:07.134+0000
。
相反,我可以尝试在前端(即2018-01-26 11:48:07.13487
)上修复精度,然后发出put
请求。在后端,我注意到它降低了精度,回到了2018-01-26 11:48:07.134
。
我正在测试非常简单的REST
服务,例如:
@GetMapping("/getAllData")
@ResponseBody
public List<StammSolvaraJahr> getAllData() {
EntityManager em = Connection.getEntityManger();
return em.createQuery("SELECT ssj FROM StammSolvaraJahr ssj").setMaxResults(100).getResultList();
}
答案 0 :(得分:1)
这就是为什么不建议将时间戳记用作键的原因,这与浮点类型的原因相同。请注意,JSON没有为日期/时间定义特定的表示形式,因此没有必须支持的精度/分辨率。因此,如果您依靠它,一定会遇到麻烦。一种选择是发送时间戳,例如一个字段的秒分辨率,另一整数字段的分数(例如,纳秒)。