3.  Meet-in-the-Middle Mapping

In the meet-in-the-middle mapping approach, you control both the relational model and the object model. It is up to you to define the mappings between these models. The mapping tool's validate action is useful to meet-in-the-middle mappers. This action verifies that the mapping information for a class matches the class definition and the existing schema. It throws an informative exception when your mappings are incorrect.

Example 7.11.  Validating Mappings

java org.apache.openjpa.jdbc.meta.MappingTool -action validate Magazine.java

The buildSchema action we discussed in Section 1, “ Forward Mapping ” is also somewhat useful during meet-in-the-middle mapping. Unlike the validate action, which throws an exception if your mapping data does not match the existing schema, the buildSchema action assumes your mapping data is correct, and modifies the schema to match your mappings. This lets you modify your mapping data manually, but saves you the hassle of using your database's tools to bring the schema up-to-date.