JPA2 @JoinTable con field extra ?

Muchas veces deseamos que existan situaciones de diseño de los cuales no estamos al tanto. Cuando pasamos de modelos ER a modelos totalmente OOP nos encontramos que prácticamente hablamos dos idiomas diferentes, aunque muy parecidos a la vez.
Un modelo many-to-many puede tener un campo extra en JPA ?

La respuesta es rotunda. NO SE PUEDE HACER ESTO CON ANOTACION DIRECTA.

Simplemente porque @JoinTable no es una entidad y por consiguiente no puede albergar propiedades. Entonces debemos solucionarlo diseñando una entidad que tenga dos many-to-one de cada extremo relacional y manejarlo totalmente con código controlado. Espero que no olvidemos esta lección.

Anuncios