akshay
akshay

Reputation: 5285

How to do a cascade save in hibernate

I have objects A and B.

Object A is like

class A{
 Set<B>
}

Now when I save A I want that all objects in Set<B> of A should be automatically saved in DB. How can I do it?

Upvotes: 6

Views: 22279

Answers (2)

Nikola
Nikola

Reputation: 1456

The question from Ransom will work if you are working through EntityManager and using pure JPA annotations. But if you are using Hibernate directly, then you need to use its own annotation for cascading.

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

...

@OneToMany
@Cascade({CascadeType.SAVE_UPDATE, CascadeType.DELETE})
public List<FieldEntity> getB() {
    return fields;
}

Upvotes: 2

Ransom Briggs
Ransom Briggs

Reputation: 3085

// Use the cascade option in your annotation
@OneToMany(cascade = {CascadeType.ALL}, orphanRemoval = true)
public List<FieldEntity> getB() {
    return fields;
}

Upvotes: 18

Related Questions