Configurar tu aplicación OpenXava
6.x (o anterior) para ir contra Firebird es muy simple, básicamente has de
instalar tu controlador JDBC para Firebird y definir correctamente la
fuente de datos. No necesitas tocar nada de código de tu aplicación.
Asumimos que ya tienes Firebird
instalado y funcionando.
Descargar el controlador JDBC para Firebird
Descarga el controlador para Firebird desde aquí: https://firebirdsql.org/en/jdbc-driver/
Descargarás un archivo como este:
Jaybird-3.0.6-JDK_1.8.zip (el
número de versión puede cambiar). Descomprímelo para buscar dentro un
archivo llamado
jaybird-full-3.0.6.jar (o parecido), este último
archivo, el .jar, es el controlador JDBC que vamos a usar.
Crear una variable de classpath en Eclipse
Para poder conectar a Firebird desde Eclipse vamos a declarar una variable
de classpath que apunte al controlador JDBC de Firebird, así lo podrás
usar en cualquier proyecto que lo necesites con facilidad. Para ello, en
Eclipse ve a Window > Preferences > Java > Build Path >
Classpath Variables donde puedes añadir la nueva variable:
Puedes llamar a la variable
FIREBIRD_DRIVER o CONTROLADOR_FIREBIRD en lugar de DB_DRIVER si lo
prefieres. Path sería la ruta del controlador JDBC, en nuestro
caso la ruta del jaybird-full-3.0.6.jar que acabamos de descargar.
Añadir la variable DB_DRIVER al proyecto Eclipse
En el proyecto en que vayas a usar Firebird has de añadir la variable que
acabas de declarar. Pulsa con el botón derecho del ratón en tu proyecto y
selecciona
Build Path > Configure Build Path:
Después selecciona la pestaña Libraries:
Con esto tenemos el controlador
disponible en el entorno de desarrollo.
Añadir el controlador JDBC al Tomcat de producción
Añadir
el controlador en producción es mucho más fácil. Copia jaybird-full-3.0.6.jar
a la carpeta lib de tu Tomcat. Nada más.
Ajustar la definición de la base de datos
Para desarrollo edita web/META-INF/context.xml de tu proyecto
Eclipse y para producción edita conf/context.xml de tu Tomcat,
para ajustar la fuente de datos para que apunte a Firebird, algo como
esto:
<Resource name="jdbc/MiAplicacionDS" auth="Container"
type="javax.sql.DataSource"
maxTotal="100" maxIdle="20" maxWaitMillis="10000"
username="root" password="ao49fmsk"
driverClassName="org.firebirdsql.jdbc.FBDriver"
url="jdbc:firebirdsql://localhost:3050/c:/db/miaplicacion.fdb"/>
Las diferencias están en el driverClassName
y la url. La parte final de la url, c:/db/miaplicacion.fdb
en este ejemplo, es la ruta a tu base de datos Firebird. Obviamente, en
lugar de localhost deberías poner la dirección del servidor donde
está el Firebird, y también poner los valores correctos para username
y password.
Actualizar persistence.xml
No necesitas tocar la unidad de persistencia
default de
persistence.xml
(en
persistence/META-INF), a no ser que uses la propiedad
hibernate.dialect
en cuyo caso lo más fácil es quitar la propiedad
hibernate.dialect.
Sin embargo, sí que has de modificar la unidad de persistencia
junit
para que apunte a Firebird:
<!-- JUnit Firebird -->
<persistence-unit name="junit">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>org.openxava.web.editors.DiscussionComment</class>
<properties>
<property name="hibernate.connection.driver_class" value="org.firebirdsql.jdbc.FBDriver"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="ao49fmsk"/>
<property name="hibernate.connection.url"
value="jdbc:firebirdsql://localhost:3050/c:/db/miaplicacion.fdb"/>
</properties>
</persistence-unit>
Adapta username, password
y url a la configuración de tu Firebird.