Я пытаюсь получить данные из таблицы профиля из сущности @Vote.
@Entity
@Table(name = "vote")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Vote implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
@SequenceGenerator(name = "sequenceGenerator")
private Long id;
@NotNull
@Column(name = "creation_date", nullable = false)
private Instant creationDate;
@Column(name = "number_of_points")
private Integer numberOfPoints;
@ManyToOne(optional = false)
@NotNull
@JsonIgnoreProperties("")
private User user;
@ManyToOne(optional = false)
@NotNull
@JsonIgnoreProperties("votes")
private Proposal proposal;
@Formula("(SELECT SUM(number_of_points) FROM VOTE WHERE VOTE.USER_ID = USER_ID)")
int totalVotes;
@Formula("(SELECT USER_POINTS FROM PROFILE WHERE PROFILE.USER_ID = 1)")
Long userVotes;
Он работает в той же таблице, как если бы я запрашивал данные голосования, как в этом случае ...
@Formula("(SELECT SUM(number_of_points) FROM VOTE WHERE VOTE.USER_ID = USER_ID)")
int totalVotes;
но не тогда, когда я спрашиваю
@Formula("(SELECT USER_POINTS FROM PROFILE WHERE PROFILE.USER_ID = 1)")
Long userVotes;
и я не могу найти документацию, в которой говорится, что есть ограничение. Спасибо
PD: Кстати, оператор SQL работает в базе данных.
entity User{
}
entity Profile {
creationDate Instant required
image ImageBlob
userPoints Long min(100)
}
entity Vote {
creationDate Instant required
numberOfPoints Integer
}
// RELATIONSHIPS:
relationship OneToOne {
Profile{user(id) required} to User{profile}
}
relationship ManyToOne {
Vote{user(id) required} to User
}