Problema com spring 3.0.5, hibernate 3.6.1 e JSF 2

Estou com problemas em um projeto inicial que tem spring 3.0.5, hibernate 3.6.1 e JSF 2.0. Ao iniciar a aplicação no tomcat 7, recebo as exceções:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException: Failed to look up JNDI DataSource with name 'java:/comp/env/jdbc/dados'; nested exception is javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

Caused by: org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException: Failed to look up JNDI DataSource with name 'java:/comp/env/jdbc/dados'; nested exception is javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

Tentei fazer a referência mas não consegui. O que estou esquecendo?

Meu persistence.xml:

    <persistence-unit name="dados" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>java:/comp/env/jdbc/dados</jta-data-source>
        <shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
        <validation-mode>NONE</validation-mode>

        <properties>
            <property name="hibernate.archive.autodetection" value="class" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
            <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/dados" />
            <property name="hibernate.connection.username" value="postgres" />
            <property name="hibernate.connection.password" value="postgres" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
            <property name="hibernate.hbm2ddl.auto" value="create" />
        </properties>
    </persistence-unit>

applicationContext.xml:

    <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>
   
    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="java:/comp/env/jdbc/dados"/>
    </bean>

    <bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="persistenceUnitName" value="dados" />
    </bean>

Amigo, so uma duvida…

Quando se integra spring com hibernate nao deveria deixar d utilizar o persistence.xml?
E entao as configuracoes do hibernate vc os faria no applicationContext do spring…
Pois assim o hibernate ficaria no contexto do spring e assim os manteriam integrados.

Sei que da para usar spring + hibernate juntos cada um cuidando do seu controle…mas o certo nao seria como citei acima?

Ou as duas formas fazem sentido e estao corretas…?

Desculpa, mas eh q realmente tenho essas duvidas…

Sobre seu erro to pesquisando aqui, se souber de algo posto p vc…

fallows

vc tem que criar a JNDI na configuracao do contexto no tomcat com o nome que voce especificou