Hi James, I agree with your approach. The synchronizeMappings property is great for initial development, but once you have figured out the proper schema, you don't want to be messing with it. The easiest mechanism is to just remove the property.
If you want to validate your schema against your entity mappings and throw exceptions on mismatches, you could just use the "validate" option instead of "buildSchema". All of the MappingTool options are available for the SynchronizeMappings property [1]. <property name="openjpa.jdbc.SynchronizeMappings" value="validate"/> Another option is to use the SchemaFactory property [2]. To do the validation processing, I'd suggest using the "native" option: <property name="openjpa.jdbc.SchemaFactory" value="native(ForeignKeys=true)"/> Either of these approaches should do the trick for you. Kevin [1] http://people.apache.org/~mikedd/nightly.builds/apache-openjpa-2.3.0-SNAPSHOT/docs/docbook/manual.html#ref_guide_mapping_mappingtool [2] http://people.apache.org/~mikedd/nightly.builds/apache-openjpa-2.3.0-SNAPSHOT/docs/docbook/manual.html#ref_guide_schema_info_factory On Thu, Feb 14, 2013 at 2:29 PM, James Carman <jcar...@carmanconsulting.com>wrote: > Currently, during development, I use this value: > > buildSchema(ForeignKeys=true) > > However, when we go to production, we don't want to use that. The way > I've got it set up is using Spring and PropertyPlaceholderConfigurer (we > put "buildSchema(ForeignKeys=true)" in a properties file). Now, is there > another value I can use for that setting that just validates the schema? > Or, is there a value that will just do nothing? > > Thanks, > > James