Mais uma duvida fiz o que você me passou só estou em duvida so seguinte
pois o projeto é WEB e não vai usar spring e nem ejb.
Duvidas :
- O acesso ao arquivo persistence.xml varias vezes não fica lento o sistema pois coloquei em meu
ClienteDAO , por exemplo assim como abaixo e tenho 30 DAOS no sistema ?
private EntityManager DBMng;
protected EntityManagerFactory factory = Persistence.createEntityManagerFactory(banco);
public void persist(T t) throws DaoException {
try {
DBMng = factory.createEntityManager();
DBMng.getTransaction().begin();
DBMng.persist(t);
DBMng.getTransaction().commit();
} catch(Exception e) {
DBMng.getTransaction().rollback();
}finally{
DBMng.close();
}
}
---
public T find(T entity) throws DaoException {
T t = null;
try {
DBMng = factory.createEntityManager();
t = DBMng.find(domainClass, entity);
return t;
} catch(Exception e) {
}finally{
}
}
Outra Duvida :
- Minha configuração do arquivo persistence.xml abaixo vai usar pool de conexão e dessa forma que estou
usando onde abro sessão com o banco de dados e fecho em cada metodo tem algum problema de não conseguir conexão
com o banco pois já me deu esse erro :
javax.servlet.ServletException: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost/banco"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="root"/>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.c3p0.min_size" value="0"/>
<property name="hibernate.c3p0.max_size" value="10"/>
<property name="hibernate.c3p0.timeout" value="1000"/>
<property name="hibernate.c3p0.max_statements" value="50"/>
<property name="hibernate.c3p0.idle_test_period" value="3000"/>
<property name="hibernate.c3p0.acquire_increment" value="2"/>