Подтвердить что ты не робот

Hibernate: Как использовать каскад в аннотации?

Как использовать каскад и аннотации в спящем режиме?

Но я остаюсь с сомнением:

У меня такая ситуация:

public class Package(){
  @OneToOne(cascade=CascadeType.PERSIST)
  private Product product;

  @OneToOne(cascade=CascadeType.PERSIST)
  private User user;
  ..
}

Когда я пытаюсь session.save(package), возникает ошибка. Я не хочу сохранять продукт и пакет, просто инициализируйте его и установите в свой объект пакета.

Возможно ли это?

4b9b3361

Ответ 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