[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] Specifying CASCADE-REMOVE in project.xml
|
Hi Miguel,
You are correct that if you have a large amount of metadata already mapped,
the path of least resistance will likely be using the preLogin event.
The other option, as you have remarked is a conversion to
eclipselink-orm.xml. It covers the majority of the features available through
project.xml and also covers the new features introduced in JPA. It will be the
main xml-based target for new configuration options we add in the future. In
JPA, you get alot for free because of the defaulting, so depending on how your
model is designed you get alot for free.
BTW: In case you are not aware, we have a feature that allows dynamic
generation of Entities. Here's an example:
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Dynamic
-Tom
Miguel Morales wrote:
Tom,
the Eclipselink Workbench seemed like a more practical interface than
Dali in Eclipse, although later I discovered that it has missing
features. But I simply cannot afford embedded annotations because my
application will be generating dynamic entities and database features,
and I want to keep all configuration outside of the code itself. I was
just considering the ORM.XML option when I saw your email, as it is
possible to override configurations using that file and the
eclipselink-orm.xml (something like that). But it would force me to
specify the entire configuration for that entity just to be able to add
the cascade feature I need. As much as possible I would like a single
point for generating all necessary JPA stuff, the eclipse workbench, but
barring that I want the least involved option, which at this point I
believe would be your suggestion to use the preLogin. I will look into
it, thank you.
Miguel
--------------------------------------------------
From: "Tom Ware" <tom.ware@xxxxxxxxxx>
Sent: Monday, November 08, 2010 8:42 PM
To: "EclipseLink User Discussions" <eclipselink-users@xxxxxxxxxxx>
Subject: Re: [eclipselink-users] Specifying CASCADE-REMOVE in project.xml
Is your objection to annotations, or to JPA metadata in general?
If you are are looking for an xml-based way of specifying your
metadata, JPA allows you to fully specify the metadata in orm.xml
files. You can use the Eclipse Dali project for tooling. orm.xml
provides equivalent functionality to what is available in annotations.
If you would like to keep using project.xml, your best bet is to
modify your mappings through API in an event. I suggest using the
preLogin event to modify your descriptors. You can call
setCascadeRemove(true) on each ForeignReferenceMapping you would like
cascade remove to operate on.
-Tom
rmmora159 wrote:
I need a way to specify a CASCADE-REMOVE setting on a one-to-many
relationship in the project.xml of my eclipselink app. Currently a
remove()
on the parent entity throws an SQL exception because of the foreign key
constraint. I know this is easily solved using annotations, but I
DO NOT
use annotations nor will I use them because they are a waste of
time. It is
much more efficient to use a single project.xml that describes
everything. Furthermore, my application generates its own database
tables and entities,
so I need to keep everything as centralized and hands-free as
possible. I
use the eclipse Workbench (I know, I shouldn't) to generate all the
necessary components, but that GUI does not seem to have an option to
set
cascading type for relationships. I know I'll probably have to
manually add
the CASCADE setting to the project.xml, but I cannot figure out the xsd
specifications to correctly insert it into the xml. I could also take
care
of the problem in java before calling the remove() method of the
EntityManager, if someone knows how to do so.
_______________________________________________
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