Uso la base de datos en memoria que viene con Play Framework, cuando tengo db=mem
en el archivo de configuración, para el desarrollo.¿Cómo conectarse a la base de datos en memoria de Play Framework utilizando JDBC?
¿Cómo me puedo conectar a esta base de datos usando JDBC? y no el JPA que es la forma predeterminada.
me han tratado con este método en mi controlador:
public static void addToDB() {
try {
Connection conn = DriverManager.getConnection("jdbc:h2:mem:play");
Statement stmt = conn.createStatement();
stmt.execute(sql);
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
pero me sale un mensaje de error que tengo que proporcionar un nombre de usuario y contraseña:
org.h2.jdbc.JdbcSQLException: Wrong user name or password [8004-149]
Si vuelvo a visitar la web- consola en /@db
se utiliza el nombre de usuario sa
y no hay contraseña.
Ahora registra en medio de la interfaz /@db
y crearon una mesa users
.
Entonces conectado a la base de datos en un método de control y utilizaron este JDBC-string: jdbc:h2:mem:play:sa
y luego trataron de insertar a la mesa users
pero me sale este mensaje de error:
org.h2.jdbc.JdbcSQLException: Table "USERS" not found; SQL statement:
Cómo debería conectarse a la base de datos H2 en memoria en Play Framework usando JDBC?
¿Se devuelve una nueva conexión cada vez que la llamo? o es lo mismo que no debería cerrar? – Jonas
Es la conexión dada por HibernateSession. Así que supongo que es mejor que no lo cierres. – niels