У меня есть сущности "событие" и "участник". Связь многие-ко-многим. У каждого участника должен быть билет на событие.
Выглядит это вот так:
Эти сущности в Hibernate
:
@Data
@NoArgsConstructor
@Entity(name = "action")
public class Action {
@Id
@GeneratedValue
private UUID id;
private String name;
@ManyToOne
@JoinColumn(name = "organization_id")
@JsonIgnore
private Organization organization;
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "action_member", joinColumns = { @JoinColumn(name = "action_id")}, inverseJoinColumns = {@JoinColumn(name = "member_id")})
@JsonIgnore
private List<Member> members;
@CreationTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_at")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss", timezone = "Europe/Moscow")
private Date createdAt;
}
@Data
@NoArgsConstructor
@Entity(name = "member")
public class Member {
@Id
@GeneratedValue
private UUID id;
private String email;
private String phone;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "action_member", joinColumns = { @JoinColumn(name = "member_id")}, inverseJoinColumns = {@JoinColumn(name = "action_id")})
private List<Action> actions;
@CreationTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_at")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss", timezone = "Europe/Moscow")
private Date createdAt;
}
Проблема в том, что я не понимаю как правильно отобразить в этой схеме билет. Могу я как-то всем участникам добавить поле ticket
, которое будет зависеть от конкретного события ? Как это будет выглядеть ?
В данном примере нет отношения many to many
. Такое отношение показывает только связь между разными строками таблиц и не может содержать какие то еще данные.
Вру, всетаки и такое соотношение является many to many
, но не совсем каноничное. В любом случае, в разрезе ORM это ничего не меняет.
Тут только одно решение: вам нужно реализовать саму таблицу action_member
как сущность и уже к ней пролинковать Action и Member.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Дана задача - Cоздать двумерный массив из 7 строк по 4 столбца в каждой из случайных целых чисел из отрезка [-5;5]Вывести массив на экран
есть JTextPane и JEditorPaneв первом установлен контекст text/html, во втором - просто текст для написания html кода
Необходимо, чтобы событие изменения возникало при set даже если новое значение равно старому
Как можно вручную (без использования редакторов типа IntelliJ IDEA) импортировать jar-файл?