Mais je reste avec un doute:
J'ai cette situation:
public class Package(){
@OneToOne(cascade=CascadeType.PERSIST)
private Product product;
@OneToOne(cascade=CascadeType.PERSIST)
private User user;
..
}
Lorsque j'essaie de session.save(package)
, une erreur se produit. Je ne veux pas enregistrer le produit et le package. Je veux juste les initialiser et les placer dans mon objet package.
Est-ce possible?
Voir la documentation d'hibernation qui est très claire sur ce problème. Par exemple, vous pouvez utiliser par exemple,
@Cascade(CascadeType.PERSIST)
private List<Object> obj;
ou
@OneToMany(cascade = CascadeType.PERSIST)
private List<Object> obj;
Si vous utilisez l'API native hibernate, vous devez utiliser l'annotation de hibernate pour cascade et c'est:
@Cascade(CascadeType.SAVED_UPDATE)
alors vous appelez la méthode save () mais avec votre annotation, vous devez appeler la méthode persist () du JPA