Есть две сущности:
public class TimeOfSessionEntity {
@Id
@Column(name = "timeOfSessionId")
private Long timeOfSessionId;
@Column(name = "timeOfSession")
private Timestamp timeOfSessionDate;
private Long movieId;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "dateOfSessionId")
private DateOfSessionEntity dateOfSession;
}
И
public class DateOfSessionEntity {
@Id
@Column(name = "dateOfSessionId")
private Long dateOfSessionId;
@Column(name = "dateOfSessionTime")
private Timestamp dateOfSession;
@OneToMany(mappedBy = "dateOfSession", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private Set<TimeOfSessionEntity> timeOfSession = new HashSet<>();
}
Когда я сохраняю в бд сущность TimeOfSessionEntity,то автоматически запись ссылается на таблицу DateOfSessionEntity с id=0. т.е. я хочу вначале создать запись в TimeOfSessionEntity, а потом уже выбрать на какой id ссылаться в DateOfSessionEntity. что я делаю не так? при сохранении TimeOfSessionEntity внешний ключ не указываю.
Значение id обычно генерится в Hibernate. Надо бы поставить аннотацию @GeneratedValue.
Более подробно можно почитать про эту аннотацию здесь.
Значение внешнего ключа устанавливается если вы сохраняет оба объекта, или же поочередно, тогда зависимый объект берётся из сессии.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости