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