【发布时间】:2018-04-09 18:02:56
【问题描述】:
days 是Calendar 类中的瞬态变量。 CalendarDay 类通过名为 calendarId 的字段具有对 Calendar 类的外键引用。
当我获取 Calendar 对象时,days 字段仍然为空。如何填充该字段?
@Entity
@Table(name = "calendars")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Document(indexName = "calendars")
public class Calendar extends Node {
@Transient
@OneToMany(fetch = FetchType.EAGER)
@CollectionTable(name = "calendar_days", joinColumns = @JoinColumn(name = "calendarid"))
protected List<CalendarDay> days;
@JsonProperty("Days")
public List<CalendarDay> getDays() {
return days;
}
@JsonProperty("Days")
public void setDays(List<CalendarDay> days) {
this.days = days;
}
}
@Entity
@Table(name = "calendar_days")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Document(indexName = "calendar_days")
public class CalendarDay extends General {
@ManyToOne
@JoinColumn(name = "calendarid")
protected Calendar calendarId;
}
Here Days 为空。 Calendar 类中的 days 变量是瞬态变量。如何在 JPA 中填充这个瞬态变量?
以下是回复:
{"calendars": {
"rows": [
{
"parentId": null,
"phantomParentId": null,
"children": null,
"expanded": false,
"index": null,
"leaf": true,
"Id": 1,
"Name": "General",
"DaysPerMonth": 20,
"DaysPerWeek": 5,
"HoursPerDay": 8,
"WeekendsAreWorkdays": false,
"WeekendFirstDay": 6,
"WeekendSecondDay": 0,
"DefaultAvailability": [
"08:00-12:00",
"13:00-17:00"
],
**"Days": null**
}
]
}
}
【问题讨论】:
-
它怎么可能是短暂的和实体的?你的问题完全没有意义。
-
请编辑您的问题。您想根据 JSON 响应填充天数吗?告诉你需要做的更详细的问题。
-
或者 response 是把 Calendar 序列化为 JSON 的结果?
-
我正在尝试整合 www.bryntum.com 的甘特图。我正在使用 Springboot。该组件接受如上所示的 JSON 响应。如果声明不正确,请您帮忙以正确的方式创建所需的 JSON
标签: java hibernate jpa spring-boot transient