Tips: Hibernate y los prefijos de tablas

14 jun 2007

Un problema muy común al que nos llevamos tiempo enfrentando es el uso de prefijos de tablas en los entornos de producción. Si por ejemplo nos asignan el prefijo “SB_”, la tabla que durante el desarrollo se llamaba “PERSONA” ahora pasa a llamarse SB_PERONA.

Al utilizar JPA/EJB3.0 este problema queda mitigado al utilizar la anotación @TABLE, pero nos sigue obligando a modificar todas las entidades de la aplicación para adaptarlas al nuevo prefijo.

Para solucionar esto, la especificación JPA contempla la posibilidad de establecer estrategias para la generación del nombre definitivo. Utilizando la implementación de Hibernate-entitymanager es tan sencillo como implementar nuestra propia clase NameStrategy e indicarla en persistece.xml.

1.- Indicamos a Hibernate la implementación que deseamos utilizar:

<--Configuración para el soporte de prefijos en Hibernate. Estrategia para generación de nombres de tablas asociadas a anotaciones Table JPA3.0.-->
<property name="hibernate.ejb.naming_strategy" value="com.viavansi.framework.persistencia.jpa.NamingStrategy"></property>

2.-Implementación, lo mas sencillo es sobreescribir el método String tableName(String tableName) de DefaultComponentSafeNamingStrategy que implementa la gestión de anotaciones JPA en Hibernate.

It’s a replace of prefix tables on Hibernate

Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter

Una Respuesta Para “Tips: Hibernate y los prefijos de tablas”

  1. PEDRO 18 de agosto de 2008 at 02:28 hrs. #

    ESTA BIEN CHIDO Y ME AGRADO

Deje una respuesta