Estoy desarrollando una aplicación Java Web y que utiliza Tomcat agrupación de conexiones, aquí está mi configuración:puede usar Hibernate y Tomcat Connection pool al mismo tiempo?
<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/jdbcPool"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="*******"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/dbname?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"/>
</Context>
y mi DAO:
public static Connection dbConnection() throws NamingException {
Context initContext;
DataSource ds = null;
Connection conn = null;
try {
initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
ds = (DataSource) envContext.lookup("jdbc/jdbcPool");
conn = ds.getConnection();
}catch (SQLException ex){
logger.error("SQLException Occurred in DAO.dbConnection() Method, Exception Message is: " + ex.getMessage(), ex);
}
catch (RuntimeException er){
logger.fatal("SQLException Occurred in DAO.dbConnection() Method, Exception Message is: " + er.getMessage(), er);
}catch(Exception rt){
logger.fatal("Exception Occurred in DAO.dbConnection() Method, Exception Message is: " + er.getMessage(), er);
}
return conn;
}
quiero usar hibernación así que refactorizar alguna parte de mi código, ahora quiero saber si es posible para nosotros usar ambos en mi aplicación (me refiero a que parte de mi código use hibernate y alguna parte use mi conexión DAO) En caso afirmativo, ¿qué pasará con esas tablas? que no se ha mapeado con hibernación, pero algunas tablas mapeadas tienen relación con ellas?
¿Quiere decir que omito mi configuración JNDI en context.xml y cuando quiero Quering DB (no quiero usar hibernate) obtener una conexión de hibernate sessionFactory? luego actuar como una conexión JDBC común? – Am1rr3zA
@gid ¿Puede explicar por qué? Hibernate proporciona su propia administración de transacciones (o usará JTA), entonces, ¿por qué le importaría que la conexión se cierre o, mejor dicho, que se devuelva al grupo? Parece que estás haciendo manualmente muchas cosas que Hibernate haría por ti. ¿Me estoy perdiendo de algo? – ChssPly76
Me refiero a omitir la configuración de conexión (es decir, la referencia JNDI y/o cualquier otra referencia a las conexiones de la configuración de hibernación) –