У меня есть такой класс (с геттерами и сеттерами, все сопоставлены с hibernate, каждый с последовательностью в DB Oracle)
public class A{
private B b;
private C c;
}
Я создаю этот объект и сохраняю его в базе данных.
Итак, я создаю объект A, заполняю его объектом B и вызываю
saveOrUpdate(a)
чтобы я мог генерировать последовательности "a" и "b". затем я делаю некоторые вычисления и создаю экземпляр «C» и устанавливаю его в «a»
До этого все прекрасно работает. Теперь мне нужно получить идентификатор "c", поэтому я делаю некоторые проверки перед тем, как выполнить сброс и зафиксировать.
Но saveOrUpdate не будет работать здесь, потому что объект больше не является временным. В соответствии с документами гибернации на saveOrUpdate: «если объект уже сохраняется в этом сеансе, ничего не делать»
Есть идеи?
(не могу опубликовать код, потому что он слишком длинный и грязный, но в основном это так)