[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] Order of mapping initialization error in EclipseLink 2.3?
|
A description with some code is easier for the moment. I'm experiencing
the problem in the Eclipse project Jubula (see
https://bugs.eclipse.org/bugs/show_bug.cgi?id=345106), so maybe that
could count as a recreation (although it's far from small or automated).
We're using JPA 2.0 with annotations in an OSGi environment.
The root of a class hierarchy is the NodePO class, which has a
unidirectional list of children:
@ManyToMany(fetch = FetchType.EAGER,
cascade = CascadeType.ALL,
targetEntity = NodePO.class)
@JoinTable(name = "NODE_LIST",
joinColumns = @JoinColumn(name = "PARENT"),
inverseJoinColumns = @JoinColumn(name = "CHILD"))
@OrderColumn(name = "IDX")
List<INodePO> getHbmNodeList() {
return m_nodeList;
}
I am attaching an image of the class hierarchy for NodePO. In this
hierarchy are the classes SpecTestCasePO (NodePO -> ParamNodePO ->
TestCasePO -> SpecTestCasePO) and ExecTestCasePO (NodePO -> ParamNodePO
-> TestCasePO -> ExecTestCasePO). This is the multiple levels of
inheritance that I was talking about.
I can successfully add an ExecTestCasePO to a SpectTestCasePO's node
list and persist those changes. I can also successfully call
EntityManager.remove(). However, an attempt to commit the removal causes
a foreign key violation in NODE_LIST.
Thanks for your time. Please let me know if you need more information.
On 05/17/2011 08:03 PM, Tom Ware wrote:
I am not aware of an existing problem. Can you provide us with more
information? (ideally an recreation, but otherwise a description of
your class structure, the mappings and the code you are running)
Zeb Ford-Reitz wrote:
Hello,
I'm encountering a problem with EclipseLink 2.3 RC1 that I did not
encounter in EclipseLink 2.2.
The problem involves multiple levels of inheritance and
"preDeleteMappings". The resulting error is a foreign key violation
in a join table when committing the removal an entity with a
ManyToMany association.
The source of the problem seems to be missing preDeleteMappings,
which would remove the necessary entry from the join table before
removing the entity itself. Essentially, the order in which the
mappings are initialized (and post-initialized) causes several of our
entites to contain the preDeleteMappings from their corresponding
direct parents, but *not* from all of their ancestors.
Is this a known issue? If so, is it expected to be fixed in the near
future? If not, can anyone suggest a workaround?
Thanks for your time.
With best regards,
Zeb Ford-Reitz
------------------------------------------------------------------------
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users
--
BREDEX GmbH
Mauernstr. 33
38100 Braunschweig
Tel.: +49-531-24330-0
Fax: +49-531-24330-99
http: www.bredex.de
Geschäftsführer: Hans-J. Brede, Achim Lörke, Ulrich Obst
Amtsgericht Braunschweig HRB 2450
Attachment:
node_hierarchy.png
Description: PNG image
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature