у меня есть два объекта, «родительский» и «дочерний», которые связаны двунаправленным отношением «один ко многим» с атрибутом каскада, установленным на «все». При добавлении дочернего объекта в родительскую дочернюю коллекцию с использованием приведенного ниже кода я не могу получить идентификатор сохраненного дочернего элемента, пока не совершу транзакцию:
Parent p = (Parent) session.load(Parent.class, pid);
Child c = new Child();
p.addChild(c);
// "c" hasn't an ID (is always zero)
Однако, когда я сохраняю дочернюю сущность, явно вызывая метод session.save(), идентификатор создается и устанавливается немедленно, даже если транзакция не была зафиксирована:
Child c = new Child();
session.save(c);
// "c" has an ID
Есть ли способ получить идентификатор дочернего объекта сразу, не вызывая метод session.save()?
Спасибо