Hibernate con MYSQL y ORACLE
Publicado por Javier (4 intervenciones) el 24/06/2009 09:50:01
Hola, tengo un duda.
Con hibernate tenemos los .xml y los .java., de las clases (para los mapeos)
Si la base de datos es MySQL y la cambiamos a Oracle, en el fichero de configuracion "hibernate.cfg.xml" cambiamos el parámetro:
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
por
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
Pero en los XML de las clases (pojos), por ejemplo, en MYSQL existe el autoincremento y en Oracle no, entonces tendria q que cambiar los xml de las tablas que tienen autoincremento de esta manera:
MYSQL:
Con incremento:
<id name="idSesion" type="java.lang.Integer">
<column name="ID_SESION" />
<generator class="identity" />
</id>
Sin incremento:
<id name="idSesion" type="java.lang.Integer">
<column name="ID_SESION" />
<generator class="assigned" />
</id>
ORACLE:
<id name="id" column="id" type="java.lang.Integer" unsaved-value="0">
<generator class="sequence" >
<param name="sequence">TFO_TYPE_SEQ</param>
</generator>
</id>
La pregunta es, hay alguna forma de unificar esto, de forma que solo haya que cambiar el parametro "<property name="dialect">" del hibernate.cfg.xml, y no tener que cambiar todos los xml de las clases??
Porque me resulta extraño que no haya nada, pero ya me vuelto loco buscando.
Gracias y un saludo.
Con hibernate tenemos los .xml y los .java., de las clases (para los mapeos)
Si la base de datos es MySQL y la cambiamos a Oracle, en el fichero de configuracion "hibernate.cfg.xml" cambiamos el parámetro:
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
por
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
Pero en los XML de las clases (pojos), por ejemplo, en MYSQL existe el autoincremento y en Oracle no, entonces tendria q que cambiar los xml de las tablas que tienen autoincremento de esta manera:
MYSQL:
Con incremento:
<id name="idSesion" type="java.lang.Integer">
<column name="ID_SESION" />
<generator class="identity" />
</id>
Sin incremento:
<id name="idSesion" type="java.lang.Integer">
<column name="ID_SESION" />
<generator class="assigned" />
</id>
ORACLE:
<id name="id" column="id" type="java.lang.Integer" unsaved-value="0">
<generator class="sequence" >
<param name="sequence">TFO_TYPE_SEQ</param>
</generator>
</id>
La pregunta es, hay alguna forma de unificar esto, de forma que solo haya que cambiar el parametro "<property name="dialect">" del hibernate.cfg.xml, y no tener que cambiar todos los xml de las clases??
Porque me resulta extraño que no haya nada, pero ya me vuelto loco buscando.
Gracias y un saludo.
Valora esta pregunta


0