Hibernate: How to use cascade in annotation?

Valter Silva picture Valter Silva · Mar 1, 2011 · Viewed 66k times · Source

How can I use cascade and annotations in hibernate?

But I stay with a doubt:

I have this situation:

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

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

When I try to session.save(package), an error occurs. I don't want to save product and package. I just want to initialize and set them into my package object.

Is that possible?

Answer

Johan Sjöberg picture Johan Sjöberg · Mar 1, 2011

See the hibernate documentation which is very clear on this issue. For instance you could use e.g.,

@Cascade(CascadeType.PERSIST)
private List<Object> obj;

or

@OneToMany(cascade = CascadeType.PERSIST)
private List<Object> obj;