我有@Entity
@Entity
@Table(name = "variable")
@XmlRootElement
public class Variable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(unique = true, nullable = false)
private String name;
@Column
@Enumerated(EnumType.STRING)
private VariableType type;
@Column(nullable = false)
private String units;
@Column
private String description;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_on", nullable = false)
private Date createdOn;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "retired_on", nullable = true)
private Date retiredOn;
@Column(nullable = false)
private boolean core;
}
当我使用VariableManager
插入数据时,它在数据库
variableCrudService.create(new Variable(name, type, units, description, new Date(), core));
我可以在日志中看到
added variable id=13 name=v4 type=String units=u4 description=created with web service createdOn=2013-01-14 14:43:57.0 retiredOn=null core=true
并在数据库中 MySQL的> select * from variable;
+----+------+------------+-------+--------------------------+---------------------+------------+------+
| id | name | type | units | description | created_on | retired_on | core |
+----+------+------------+-------+--------------------------+---------------------+------------+------+
| 1 | v1 | Double | u1 | created via migration | 2013-01-14 13:15:19 | NULL | 1 |
| 2 | v2 | String | u2 | created via migration | 2013-01-14 13:15:19 | NULL | 1 |
| 3 | v3 | BigDecimal | u3 | created via migration | 2013-01-14 13:15:19 | NULL | 0 |
| 12 | v4 | String | u4 | created with web service | 2013-01-14 14:41:31 | NULL | 1 |
+----+------+------------+-------+--------------------------+---------------------+------------+------+
4 rows in set (0.00 sec)
但是当我使用curl测试时,我得到了奇怪格式的时间戳
[
{
"core": true,
"createdOn": 1358198119000,
"description": "created via migration",
"id": 1,
"name": "v1",
"retiredOn": null,
"type": "Double",
"units": "u1"
},
{
"core": true,
"createdOn": 1358198119000,
"description": "created via migration",
"id": 2,
"name": "v2",
"retiredOn": null,
"type": "String",
"units": "u2"
},
{
"core": false,
"createdOn": 1358198119000,
"description": "created via migration",
"id": 3,
"name": "v3",
"retiredOn": null,
"type": "BigDecimal",
"units": "u3"
},
{
"core": true,
"createdOn": 1358203437000,
"description": "created with web service",
"id": 13,
"name": "v4",
"retiredOn": null,
"type": "String",
"units": "u4"
}
]
这里到底发生了什么?我在这里做错了什么?
答案 0 :(得分:1)
我认为日期值是正确的,但可能不是您想要的格式。您可以尝试创建自定义日期适配器,以确保JAXB以正确的格式解组值。看看这个:jaxb unmarshal timestamp