[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-6805) CascadeType.ALL should behave the same as listing all the types individually
Gail Badner (JIRA)
noreply at atlassian.com
Wed Nov 23 06:26:20 EST 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-6805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44389#comment-44389 ]
Gail Badner commented on HHH-6805:
----------------------------------
Please attach a runnable test case or fork the git hibernate-core repository (https://github.com/hibernate/hibernate-core) and create a pull request with your test.
> CascadeType.ALL should behave the same as listing all the types individually
> ----------------------------------------------------------------------------
>
> Key: HHH-6805
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-6805
> Project: Hibernate Core
> Issue Type: Bug
> Components: annotations, core
> Affects Versions: 3.6.3
> Environment: h2
> Reporter: Jason Pyeron
>
> {code}
> @ManyToOne(fetch = FetchType.LAZY, cascade={CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE, CascadeType.REMOVE, CascadeType.DETACH})
> @JoinColumn(name = "memberid", nullable = false)
> private MemberModel member;
> {code}
> or
> {code}
> @ManyToOne(fetch = FetchType.LAZY, cascade={CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE, CascadeType.REMOVE})
> @JoinColumn(name = "memberid", nullable = false)
> private MemberModel member;
> {code}
> results in a
> {code}
> org.hibernate.PropertyValueException: not-null property references a null or transient value: com.millennialmedia.enterprisews.operational.model.AgencyModel.member
> at org.hibernate.engine.Nullability.checkNullability(Nullability.java:100)
> at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:312)
> at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
> at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
> at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
> at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:252)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:392)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:335)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:161)
> at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:450)
> at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:282)
> at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
> at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
> at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:673)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:345)
> at $Proxy66.saveOrUpdate(Unknown Source)
> {code}
> if
> {code}
> @ManyToOne(fetch = FetchType.LAZY, cascade={CascadeType.ALL})
> @JoinColumn(name = "memberid", nullable = false)
> private MemberModel member;
> {code}
> it works fine.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list