good one. You can check this by looking at the entity in the debugger. It has a _pc field which contains a StateManager. If it is a 'StateManagerImpl' then the entity is attached. If it has a DetachedStateManager then it is detached. Of course you can also use EntityManager#contains if you have the em around.
LieGrue, strub > On Thursday, 29 September 2016, 8:42, Romain Manni-Bucau > <[email protected]> wrote: > > Hi > > do you miss a wrapping transaction and therefore the delete happens on a > detached entity? > > > Romain Manni-Bucau > @rmannibucau <https://twitter.com/rmannibucau> | Blog > <https://blog-rmannibucau.rhcloud.com> | Old Wordpress Blog > <http://rmannibucau.wordpress.com> | Github > <https://github.com/rmannibucau> | > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber > <http://www.tomitribe.com> | JavaEE Factory > <https://javaeefactory-rmannibucau.rhcloud.com> > > > 2016-09-29 8:31 GMT+02:00 Shaik Nazeer <[email protected] >> : > >> Hi guys hope you are doing good. >> >> >> >> Our product was developed by using hibernate as JPA provider. But now we >> are >> moving to OpenJPA. We are able to move forward in most of the uses cases. >> But we are finding difficulty on entity delete use cases. >> >> My requirement is when I delete parent entity, parent and it's child >> collection objects should be deleted. But I am getting constraint violation >> exception. >> >> This code was working fine with hibernate. Can you please help me how to >> resolve this issue. Please find entity definitions and code to delete the >> entity below >> >> >> >> I have already tried all the suggestions found in google. But no luck L >> >> >> >> Code to delete the entity: >> >> >> >> private final HookRepository hookRepository; //Auto wired >> >> final Hook hook = this.hookRepository.findOne(hookId); >> //Retrieving >> Hook Entity from repository >> >> this.hookRepository.delete(hook); >> >> >> >> Entity Definitions are below: >> >> >> >> @Entity >> >> @Table(name = "m_hook") >> >> public class Hook extends AbstractAuditableCustom<AppUser, Long> > { >> >> >> >> @Column(name = "name", nullable = false, length = 100) >> >> private String name; >> >> >> >> @Column(name = "is_active", nullable = false) >> >> private Boolean isActive; >> >> >> >> @OneToMany(cascade = CascadeType.ALL, mappedBy = "hook", > orphanRemoval >> = >> true, fetch=FetchType.EAGER) >> >> private Set<HookResource> events = new HashSet<>(); >> >> >> >> @OneToMany(cascade = CascadeType.ALL, mappedBy = "hook", > orphanRemoval >> = >> true, fetch=FetchType.EAGER) >> >> private Set<HookConfiguration> config = new HashSet<>(); >> >> >> >> @ManyToOne(optional = true) >> >> @JoinColumn(name = "template_id", referencedColumnName = > "id", nullable >> = false) >> >> private HookTemplate template; >> >> >> >> @ManyToOne(optional = true) >> >> @JoinColumn(name = "ugd_template_id", referencedColumnName = > "id", >> nullable = true) >> >> private Template ugdTemplate; >> >> >> >> protected Hook() { >> >> // >> >> } >> >> } >> >> >> >> @Entity >> >> @Table(name = "m_hook_registered_events") >> >> public class HookResource extends AbstractPersistableCustom<Long> > { >> >> >> >> @ManyToOne(optional = false) >> >> @JoinColumn(name = "hook_id", referencedColumnName = > "id", nullable >> = >> false) >> >> private Hook hook; >> >> >> >> @Column(name = "entity_name", nullable = false, length = > 45) >> >> private String entityName; >> >> >> >> @Column(name = "action_name", nullable = false, length = > 45) >> >> private String actionName; >> >> >> >> } >> >> >> >> @Entity >> >> @Table(name = "m_hook_configuration") >> >> public class HookConfiguration extends > AbstractPersistableCustom<Long> { >> >> >> >> @ManyToOne(optional = false) >> >> @JoinColumn(name = "hook_id", referencedColumnName = > "id", nullable >> = >> false) >> >> private Hook hook; >> >> >> >> @Column(name = "field_type", nullable = false, length = > 20) >> >> private String fieldType; >> >> >> >> @Column(name = "field_name", nullable = false, length = > 100) >> >> private String fieldName; >> >> >> >> @Column(name = "field_value", nullable = false, length = > 100) >> >> private String fieldValue; >> >> >> >> } >> >> >> >> Thanks, >> >> Nazeer >> >> >
