Я пытаюсь создать схему, где пользователь может голосовать за две вещи.Важно, чтобы Пользователь не голосовал за одни и те же вещи.Для этого я пытаюсь создать схему, в которой элемент «Голосование» ссылается на две вещи и пользователя.
Проблема в том, что я не могу создать спящий режим JoinColumn для пользователя Spring Security какПользователь не является сущностью.
Могу ли я создать эти отношения?Есть ли лучший подход для того, чтобы голосование имело ссылку на пользователя?
@Entity
@Table(uniqueConstraints={@UniqueConstraint(columnNames={"winnerThingID", "loserThingID", "userID"})})
public class Vote {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer voteID;
@ManyToOne
@JoinColumn(name="winnerThingID",foreignKey=@ForeignKey(name="FK_vote_2"))
private Thing winnerThing;
@ManyToOne
@JoinColumn(name="loserThingID",foreignKey=@ForeignKey(name="FK_vote_3"))
private Thing loserThing;
@ManyToOne
@JoinColumn(name="userID",foreignKey=@ForeignKey(name="FK_vote_4"))
private User user;