OK, testing it right now :)

On Wed, Feb 6, 2013 at 9:54 AM, seba.wag...@gmail.com <seba.wag...@gmail.com
> wrote:

> 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
>> >
>>
>


-- 
WBR
Maxim aka solomax

Reply via email to