Hibernate + Spring - Duvida

Estou com problema ao subir o servidor e não faço ideia do problema.

Esta dando a seguinte excessão.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘sessionFactory’ defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z

O trecho do meu applicationContext.xml esta assim:

[code]
java:comp/env/jdbc/ACOLDS

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
	<property name="dataSource" ref="dataSource" />
    <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
	<property name="configLocations">
		<list>
			<value>classpath:hibernate.cfg.xml</value>
		</list>
	</property>
</bean>[/code]

E o hibernate.cfg.xml assim:

[code]java:comp/env/jdbc/ACOLDS

	<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
	<property name="hibernate.show_sql">true</property>
	<property name="hibernate.format_sql">true</property>
	
	<mapping class="br.com.acol.model.TipoTelefone" />
	<mapping class="br.com.acol.model.Telefone" />
	<mapping class="br.com.acol.model.Estado" />
	<mapping class="br.com.acol.model.Cidade" />
	<mapping class="br.com.acol.model.TipoUsuario" />
	<mapping class="br.com.acol.model.Endereco" />
	<mapping class="br.com.acol.model.Usuario" />
	<mapping class="br.com.acol.model.Categoria" />
	<mapping class="br.com.acol.model.DadosAdicionais" />
	<mapping class="br.com.acol.model.NotaFiscal" />
	<mapping class="br.com.acol.model.ItemNF" />[/code]

Ele da o erro ao tentar fazer o bind da classe Usuario que é a que possui o relacionamento OneToMany.

O que estou mapeapeando errado, me ajudem por favor. Ja procurei e não achei nada =/

Se precisarem ver mais alguma classe só dizer, qualquer duvida que ficou tambem.

Muito Obrigado

Consegui descobri,

Era conflito de pacote.

Vlw

Surgiu agora outra duvida:

O Spring não deveria criar a session sozinho? Pergunto isso porque ao injetar a sessionFactory da exceção dizendo que não tem sessão configurada, quando tento dar um getCurrentSession();

public void setSessionFactory(SessionFactory sessionFactory) { this.session = sessionFactory.getCurrentSession(); }

A excessão gerada é

PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'sessionFactory' threw exception; nested exception is org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

O que esta faltando? Ou oque esta errado?

Muito Obrigado

Olá Vinícius

Estou com um erro semelhante ao primeiro erro que você mencionou (orphanRemoval()Z). Dei uma googada e vi que é conflite entre pacotes EE e o jar hibernate-jpa-2.0-api-1.0.0.Final.jar.
Retirei o jar ejb3-persistence-1.0.1.GA mas ainda continuo com o erro.
Você poderia descrever como você resolveu o conflito?

Abração

Vinicius, tire mais proveito do Spring deixando que ele cuide do gerenciamento das Sessions. Se optar por fazer isso, teria a opção de extender a classe HibernateDaoSupport, a qual te permite acessar a session, ou injetar HibernateTemplate (prefiro dessa forma), que te proporciona uma série de métodos úteis, utilizar a Session através da interface HibernateCallback (o que faz desnecessário o controle manual da Session), e tudo sem a necessidade de herdar de ninguém. Além disso, você pode fazer a seguinte configuração:

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" p:sessionFactory-ref="sessionFactory" />E deixar para o Spring fazer também o controle de transações. Se você usá-lo da forma certa, o Spring pode te poupar muito trabalho!

Mais aqui.

Flw! :thumbup: