Olá a todos. Estou com uma dúvida sobre colocar o inicio da transação no construtor do dao generico.
Eu sei que funciona. O que gostaria de saber é se causa algum problema de performance ou não é aconselhável. O que vcs acham?
Eis o código.
public class Dao<T> {
//private static Logger logger = Logger.getLogger(Dao.class);
private Class persistenceClass;
private Session session;
private Transaction tx;
public Dao(Session session, Class persistenceClass){
this.session = session;
this.persistenceClass = persistenceClass;
tx = this.session.beginTransaction();
}
public T load(Long id){
//logger.info("lendo "+persistenceClass+" com id "+id);
return (T) session.load(persistenceClass, id);
}
public void save(T t){
//logger.info("salvando "+t);
session.save(t);
tx.commit();
}
}