En algunos casos, la herramienta de correlación permite correlacionar dos veces columnas de la base de datos,
una vez como atributo y otra en un cometido de relación. Se puede hacer alusión a esto
como solapamiento de la correlación. Este solapamiento podría producir problemas de
integridad de datos. Por este motivo, debería impedir que se solaparan las correlaciones
con elementos de base de datos.
Considere el ejemplo siguiente de una correlación solapada que podría crear
con la herramienta de correlación:
- El Bean1 tiene un campo de clave que se correlaciona con la columna CP1 (clave primaria) de Tabla1 y Bean2 tiene un campo de clave que se correlaciona con la columna CP2 de Tabla2.
Tabla2 incluye una columna CF2 (clave foránea) que señala a la columna CF1 de
Tabla1. Puede crear una relación entre Bean1 y Bean2 y correlacionar esta relación utilizando
la columna CF2 de Tabla2.
- Luego puede correlacionar directamente un solo atributo CMP de Bean2 con la columna CF2 de
Tabla2. La columna CF2 ahora está correlacionada dos veces, una como un atributo correlacionado y otra como una relación correlacionada entre los dos beans. Este solapamiento podría llevar a
problemas si cambian las columnas o las tablas.
- Por ejemplo, si utiliza el método setter en Bean2 para cambiar la columna CF2 (que también
es una clave foránea) y luego guarda este cambio, la siguiente vez que vuelva a cargar
los beans habrán cambiado las relaciones. O bien, si cambia la relación de modo que
el Bean2 ahora señala a otra instancia de Bean1, el atributo de
Bean2 no reflejará ese cambio.