Struts 1.3 + Hibernate 3

Fala galera
Aqui na empresa ta começando um novo projeto e ainda utilizam struts 1.3, mas permitiram utilizar o hibernate 3
JPA, claro, ta incluso na permissão.

Poderiam me sugerir uma melhor estratégia (arquitetura, formas de conectar ao banco, forma de pegar o persistence) de como eu posso estar uzando o hibernate 3 com struts 1.3 ?
Provavelmente tb consego utilizar bean validator

VlW !!!

Aproveitando, para não abrir novo topico.

Como eu poderia fazer o controle de transação com o struts 1.3 e hibernate 3 ?
Eu usava com spring, mas struts eu to começando a conhecer agora.

Struts 1 é compatível com Spring.

Mas aqui não posso utilizar spring
:cry:

Ser claro na dúvida evita respostas incoerentes. Qual será o ambiente? Container ou Application Server?

Eu disse: Struts 1.3 + Hibernate 3
:lol:

Mas…
Será Struts 1.3 + Hibernate 3 + Websphere 6 + Oracle DB

Minha vontade é de trabalhar com annotations como já trabelhei em um sistema spring.
Gostaria de criar uma arquitetura e integração mais moderna possível.

Obrigado pela ajuda !

Struts 1 não possui suporte à annotations, será sempre XML (e muitos).
No websphere 6 você consegue gerenciar as transações por ele. Como faz muito tempo (quase 3 anos) que não mexo com ele, não me recordo como pode fazer, mas deve ter algum material na net.
Quanto a conexão com BD, ele permite a criação de connection pool, então não será problemas.

Aqui é uma empresa grande e tem muita burocracia pra mudar tecnologia, mas tava olhando aqui e tem um projeto (único) com struts 1.3 com hibernate 3.
O hibernate está em um modulo Java project. E o struts em um modulo web, logico.
As actions do projeto web utilizam os serviços e dao´s do projeto com hibernate.
As entidades estão no projeto do hibernate e estão com anotação.

Mas achei a arquitetura que criaram pouco confusa e estão fazendo toda transação “na mão”.

No projeto com hibernate tem um GenericBO que chama um GenericDao

e o HibernateSessionFactory

public class HibernateSessionFactory {

	/* Constante de caminho do arquivo de configuração do Hibernate */
                private static String DEFAULT_CONFIG_FILE_LOCATION = "hibernate.cfg.xml";

                /* Threads que controlarão a sessão e a transação */
	private static final ThreadLocal<Session> threadSession = new ThreadLocal<Session>();
	private static final ThreadLocal<Transaction> threadTransaction = new ThreadLocal<Transaction>();

	/* Variaveis do Hibernate */
                private static final Configuration cfg = new AnnotationConfiguration();
                private static SessionFactory sessionFactory;

                public static Session getCurrentSession() throws HibernateException {
    	                //return new AnnotationConfiguration().configure(DEFAULT_CONFIG_FILE_LOCATION).buildSessionFactory().openSession();
    	                return HibernateSessionFactory.getCurrentSession(DEFAULT_CONFIG_FILE_LOCATION);
                }

                //abaixo ficam varios metodos para criar sessão, fechar sessão, dar rollback, commitar, etc

}

Dessa forma está funcionando com anotações e etc, mas sugerem algo pra melhorar ?
Eu conseguiria melhorar essa parte do HibernateSessionFactory pra fazer coisas automaticamente ?

Obrigado !!