【发布时间】:2018-12-29 13:35:17
【问题描述】:
我有实体“任务”,它需要一个名为“时间戳”的内部组件,该组件保存任务提交、开始和完成的时间值。
@Entity
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer Id;
private String Status;
private Timestamps timestamps;
// getters setters
}
然后我创建了 Timestamps 类
public class Timestamps {
private Timestamp submitted;
private Timestamp started;
private Timestamp completed;
//getter and setters
}
如何进行此映射,以便当我以 JSON 格式检索信息时,我会得到类似的信息?
# task
{
"task": # ASCII string
"status": # one of "submitted", "started", "completed"
"timestamps": {
"submitted": # unix/epoch time
"started": # unix/epoch time or null if not started
"completed": # unix/epoch time or null if not completed
}
}
【问题讨论】:
-
@Spara 它不起作用:我得到“没有为实体指定标识符:com.tasks.Timestamps”
-
如果您不想在数据库中保留时间戳,您可以使用
@Transient。如果您想将 Timestamps 作为关系保留在 DB 中,您应该将其作为具有标识符的实体,然后是与任务实体的@ManyToOne关系