days
is a transient variable in Calendar
class. CalendarDay
class has foreign key reference to Calendar
class via the field called calendarId
.
When I fetch Calendar
object, days
field remains null. How can I populate the field?
@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 is null. days variable in Calendar class is transient variable. How can I populate this transient variable in JPA?
Following is the response:
{"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**
}
]
}
}