Edita el archivo pom.xml en la raíz de tu proyecto, allí añade la siguiente dependencia dentro de la parte <dependencies>:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>12.8.1.jre8</version>
</dependency>
Quizás ya tengas este código en tu pom.xml pero comentado, en ese caso simplemente descoméntalo.<Resource name="jdbc/MiAplicacionDS" auth="Container"
type="javax.sql.DataSource"
maxTotal="100" maxIdle="20" maxWaitMillis="10000"
username="root" password="ao49fmsk"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;databaseName=miaplicaciondb"/>
CREATE DATABASE miaplicaciondb;
$ cd miaplicacion
$ mvn install
Nota de optimización: En lugar de mvn install, que hace un build de Maven completo, puedes usar mvn war:exploded, suficiente para aplicar los cambios de arriba para desarrollo. Puedes llamar a mvn war:exploded desde el OpenXava Studio con Run As > Maven build... y tecleando war:exploded para goal.
Ejecuta tu aplicación, debería funcionar bien contra tu base de datos MS SQL Server. Si fallara, verifica que tu base de datos está funcionando, que el usuario y la contraseña son correctos, que la IP del servidor es correcta. Verifica también que el usuario tiene privilegios para crear bases de datos y tablas (si quieres usar la generación automática de esquema de OpenXava, no necesario si las tablas ya existen).
Si al ejecutar la aplicación no funciona y en algún punto de la traza de error te encuentras esto:
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption.
Error: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target". ClientConnectionId:6b818518-97bd-4b0d-adb2-153605134e2e
Para resolver el problema añade el sufijo ;encrypt=true;trustServerCertificate=true; a la URL de conexión, dejando tu definición de fuente de datos en context.xml de esta forma:
<Resource name="jdbc/MiAplicacionDS" auth="Container"
type="javax.sql.DataSource"
maxTotal="100" maxIdle="20" maxWaitMillis="10000"
username="root" password="ao49fmsk"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;databaseName=miaplicaciondb;encrypt=true;trustServerCertificate=true;"/>
Si sigue fallando pregúntanos en el foro de ayuda de OpenXava. Incluye el contenido de tu persistence.xml, context.xml (quita las contraseñas) y sobre todo la traza generada, puedes encontrar la traza en la pestaña Console del OpenXava Studio.