dúvida simples hibernate - persistir objeto

Pessoal, estou utilizando a seguinte maneira no FuncionarioDAO:

[code]Funcionario f = new Funcionario();
Session s = HibernateUtil.openSession();
DAO d = new DAO(s, f.getClass());

Transaction transaction = s.beginTransaction();
try {
	d.salva(f);
	transaction.commit();
} catch (Exception e) { //este exception poderia ser customizado por HibernateException?
	transaction.rollback();
}

}[/code]

esse é meu metodo Salvar().

o conceito está sendo seguido corretamente?

obrigado.

Quanto a transação depende da sua arquitetura, se estiver utilizando EJB com uma transação de container ou um spring da vida com aspecto transacional no seu metodo de negocio, não precisa fazer na mão, caso contrário é isso mesmo.

Quanto a exception, evite subir a hibernate exception, isso é detalhe de implementação… aconselho a fazer tipo uma UnexpectedException que encapsula a hibernate exceptino como causa.

Dê mais detalhes de como você pretende usar esse código que dá pra dar umas idéias melhores.

abraço,

Bom, eu preciso apenas ter este controle transacional. Não irei usar nenhum tipo de container para fazer IoC/DI…

esse será o meu salvar(T object) , como disse.

Isso ai geraria redundancia? ou deixaria objetos vivos por ai?

além do salvar, terá o alterar(), e outros metodos de negocio…

abração e obrigado