THX Kevin!

@Maxim we should try that!
Am 06.02.2013 03:59 schrieb "Kevin Sutter" <kwsut...@gmail.com>:

> Hi Sebastian,
> There are two ways to get the ForeignKeys automatically processed.
>
> <property name="openjpa.jdbc.SynchronizeMappings"
> value="buildSchema(ForeignKeys=true)"/>
>
> Since you were already using a variation of this property, maybe this is
> the easiest mechanism.  A very similar capability is provided by the Schema
> Factory [1]:
>
> <property name="openjpa.jdbc.SchemaFactory"
> value="native(ForeignKeys=true)"/>
>
> And, of course, there is the manual means of specifying the ForeignKeys via
> the @ForeignKey annotation.
>
> Hope this helps,
> Kevin
>
> [1]
>
> http://people.apache.org/~mikedd/nightly.builds/apache-openjpa-2.3.0-SNAPSHOT/docs/docbook/manual.html#ref_guide_schema_info_factory
>
> On Tue, Feb 5, 2013 at 1:07 AM, seba.wag...@gmail.com <
> seba.wag...@gmail.com
> > wrote:
>
> > We are using MySQL with InnoDB and OpenJPA 2.2.1
> >
> > We face an issue in the automatic table schema creation:
> > Indices are created but no foreign keys.
> >
> > We are using this configuration file:
> >
> >
> http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/META-INF/mysql_persistence.xml?view=markup
> >
> > I guess this is all what configures our schema creation:
> > <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
> >
> > What I would expect is for example for attributes/mapping like (example 1
> > simple ManyToOne association):
> >     @ManyToOne(fetch = FetchType.EAGER)
> >     @JoinColumn(name = "roomtypes_id")
> >     private RoomType roomtype;
> >
> > That the attribute roomtypes_id will be created together with a FK and
> and
> > Indice. However Only Indice is created no FK.
> >
> > The same for any attribute that has a ManyToOne or OneToMany or
> ManyToMany
> > annotation.
> >
> > So the question is:
> > Is there a config value for SynchronizeMappings that automatically
> creates
> > not only the Indices but also the FK's for those relations?
> > Or do we really need to annotate every attribute with @ForeignKey?
> >
> > Bonus question :)
> > How would that work with a one-sided one-many association without a cross
> > table?
> >
> > For example (example 2 one-sided one-many association)
> > @OneToMany
> >     @ElementJoinColumn(name = "whiteboarditem_id", referencedColumnName =
> > "id")
> >     private Collection<WhiteboardItem> roomItems;
> >
> > If I add:
> > @ForeignKey(enabled = true)
> > to example 1 => ForeignKey is created by SchemaTool
> > to example 2 => ForeignKey is _not_ created by SchemaTool
> >
> > How can I make SchemaTool to create FK in example 2?
> >
> >
> > Thanks!
> > Sebastian
> > --
> > Sebastian Wagner
> > https://twitter.com/#!/dead_lock
> > http://www.webbase-design.de
> > http://www.wagner-sebastian.com
> > seba.wag...@gmail.com
> >
>

Reply via email to