[
https://issues.apache.org/jira/browse/OPENJPA-2540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14185161#comment-14185161
]
Rick Curtis commented on OPENJPA-2540:
--------------------------------------
I spent some time Friday afternoon looking at this problem on and I don't think
it is going to be a trivial fix... It shouldn't be extremely difficult, but it
isn't a Friday afternoon job.
I'll try to take another look at this one as my day job permits.
> merge without DetachedStateField deletes lazy fields in embedded entities
> -------------------------------------------------------------------------
>
> Key: OPENJPA-2540
> URL: https://issues.apache.org/jira/browse/OPENJPA-2540
> Project: OpenJPA
> Issue Type: Bug
> Components: kernel
> Affects Versions: 2.3.0
> Reporter: Vermeulen
> Priority: Critical
> Attachments: Inner.java, Lazy.java,
> LazyFieldsInEmbeddedEntityTest.java, TestEmbeddable.java
>
>
> I am using the setting <property name="openjpa.DetachState"
> value="fetch-groups(DetachedStateField=false)" />
> Like the summary says, I have an embedded entity with a field that is lazily
> fetched. This is a field that is persisted whenever the entity is persisted.
> (It doesn't matter whether it is a @Basic field or a @ManyToOne relation with
> cascade = CascadeType.ALL). When I merge a detached entity that has null for
> such a field, the field is actually made null in the database. The expected
> behavior is for OpenJPA to notice that the field is not in the fetch plan and
> ignore it on merge.
> The problem only exists when using an embedded entity together with the
> DetachedStateField=false setting.
> I created a test case which shows the issue. It is based on that of
> OPENJPA-1983 which reported a similar issue but whose test case didn't use an
> embedded entity.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)