jpa中时间戳格式应该用哪种类型
遇到个bug,数据库时间存储用了datetime,但是下面的java jpa代码,查询回来,却只有日期。
String innerSql = getInnerQuery(departmentId, keyword, type, startDate, endDate); SQLQuery query = manager.createNativeQuery(innerSql).unwrap(SQLQuery.class); if (PublicUtils.isNotEmpty(departmentId)) { query.setParameter("departmentId", departmentId); } if (StringUtils.isNotEmpty(type)) { query.setParameter("typeParam", Integer.valueOf(type)); } if (StringUtils.isNotEmpty(keyword)) { query.setParameter("keyword", keyword); } if (startDate != null && endDate != null) { query.setParameter("startDate", startDate); query.setParameter("endDate", endDate); } query.addScalar("noticeId", StandardBasicTypes.STRING); query.addScalar("title", StandardBasicTypes.STRING); query.addScalar("type", StandardBasicTypes.INTEGER); query.addScalar("createUserId", StandardBasicTypes.STRING); query.addScalar("createTime", StandardBasicTypes.TIMESTAMP); query.addScalar("departmentId", StandardBasicTypes.STRING); query.addScalar("userId", StandardBasicTypes.STRING); query.setResultTransformer(new MyBasicTransformerAdapter()); query.setFirstResult(startIndex); query.setMaxResults(pageSize); List<NoticePageListVO> items = query.list();
中的
query.addScalar("createTime", StandardBasicTypes.DATE);
这边要改成
query.addScalar("createTime", StandardBasicTypes.TIMESTAMP);
注意:改成TIME也不行,一定要是TIMESTAMP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端