@Entity
@Table(name = "shift")
public class Shift {
@EmbeddedId
private PK pk;
@Column(insertable = false, updatable = false)
private LocalDate day;
@Column(insertable = false, updatable = false)
private Integer number;
@Formula("""
(SELECT json_arrayagg(
json_object(
"day", sh.day,
"number", sh.number,
"value", sh.value
)
)
FROM shiftData sh WHERE sh.day = day AND sh.number = number)
""")
private String data;
@Embeddable
public static class PK implements Serializable {
@Column(name = "day")
private LocalDate day;
@Column(name = "number")
private Integer number;
}
}