映射到 JPA Temporal.Type TIMESTAMP 的 mysql 日期时间。仅获取日期,JSON 响应中没有时间

标签 mysql json datetime jpa resteasy

这是场景。

我有一个带有字段的 JPA 实体类

@Temporal(TemporalType.TIMESTAMP)
@Column(name = "CREATED_DATE", length = 19)
private Date createdDate = null;

并且此字段映射到表中类型为 datetime(我使用的是 mysql)的 CREATED_DATE 列。
当我选择 表的行时,CREATED_DATE 列同时显示日期和时间。当我使用 query.getSingleResult 获取行数据并将返回的对象类型转换为实体类时,实体类的 createdDate 字段也同时具有日期和时间:

request = (MyEntityClass) query.getSingleResult();<br>
System.out.println(request.getCreatedDate());

在 catalina.out 日志中打印 2012-05-18 06:32:57.0


现在我将这个实体类对象作为 Json 对象发送到特定的客户端请求。客户端收到的 Json 响应在打印时不显示日期时间,它只显示日期:

ClientResponse<String> response = clientRequest.get(String.class);
System.out.println("Response getResource ::"+response.getStatus()+"::"+response.getEntity());

控制台输出:
响应 getResource::200::[{ ......,"createdDate":"18-05-2012", ......}]
我在服务器端使用 RestEasy Json api。

我在 SO 中看到了类似的问题 ( similar SO post ),但那里讨论的答案似乎对我不起作用。

请帮忙。

最佳答案

问题与对象序列化为 JSON 的方式有关。您可能以一种或另一种方式配置它(注释、默认实现、配置文件),以便以这种方式序列化日期。

关于映射到 JPA Temporal.Type TIMESTAMP 的 mysql 日期时间。仅获取日期,JSON 响应中没有时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10648154/

相关文章:

mysql - 在 MySQL 中使用非标准日期时间格式

mysql - 如果两个字段的差异不为 0,Laravel 在哪里查询获取记录

php - Mysql 选择(搜索)查询项目列表

angularjs - 使用 .json 文件或数据库来存储静态数据?

java - 如何在 Android Studio 中以半径显示 2 个标记的显示距离

java - JSON字段不能是字符串吗?

java - 报告无法在服务器上运行

python - 使用python在MySQL中添加数据

c# - 如何解析包含 "17th"或类似后缀的日期字符串?

MySQL 使用 %m 返回与 %M 不同的月份