Hibernate: Как использовать каскад в аннотации?
Как использовать каскад и аннотации в спящем режиме?
Но я остаюсь с сомнением:
У меня такая ситуация:
public class Package(){
@OneToOne(cascade=CascadeType.PERSIST)
private Product product;
@OneToOne(cascade=CascadeType.PERSIST)
private User user;
..
}
Когда я пытаюсь session.save(package)
, возникает ошибка.
Я не хочу сохранять продукт и пакет, просто инициализируйте его и установите в свой объект пакета.
Возможно ли это?
Ответы
Ответ 1
См. документацию hibernate, которая очень понятна по этой проблеме. Например, вы можете использовать, например,
@Cascade(CascadeType.PERSIST)
private List<Object> obj;
или
@OneToMany(cascade = CascadeType.PERSIST)
private List<Object> obj;
Ответ 2
Если вы используете собственный API-интерфейс hibernate, вы должны использовать аннотацию спящего режима для каскада, и это:
@Cascade(CascadeType.SAVED_UPDATE)
то вы вызываете метод save()
но с вашей аннотацией вы должны вызвать метод persist() JPA