Acho que é serialização

6 respostas
jayro

Membros,

To com o seguinte cenário:

Eu tenho um projeto que dependia de outro projeto. O que fiz foi juntar os dois em um só. Era somente entidades e devido a problema de ClassLoadrs resolví junta-los.

Agora acontence uma coisa estranha… Quando eu faço o Deploy para o AppServer recebo a seguinte mensagem:

Reason: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on br.com.ce.administracaousuario.model.Usuario.unidadeOperacional references an unknown entity: br.com.ce.commons.model.UnidadeOperacional

Unidade Operacional e Usuario estão no mesmo pacote. Segue os mapeamentos:

@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idUnidadeOperacional", referencedColumnName = "id")
	private UnidadeOperacional unidadeOperacional;

Aguém teria passado por problema parecido ? A única coisa que foi mudado foi o endereço/nome do pacote.

Grato.

6 Respostas

romarcio

Pelo erro mostrado ele não encontra essa outra entidade(UnidadeOperacional).
Se vc diz que estão no mesmo pacote, ela deveria estar nesse pacote:br.com.ce.administracaousuario.model mas parece que o hibernate está procurando neste:br.com.ce.commons.model

Da uma olhada no import da classe UnidadeOperacional e ve se está importando do pacote certo.

jayro

romarcio:
Pelo erro mostrado ele não encontra essa outra entidade(UnidadeOperacional).
Se vc diz que estão no mesmo pacote, ela deveria estar nesse pacote:br.com.ce.administracaousuario.model mas parece que o hibernate está procurando neste:br.com.ce.commons.model

Da uma olhada no import da classe UnidadeOperacional e ve se está importando do pacote certo.

Pois é romacio, o intrigante é que não existe mais esse pacote br.com.ce.commons.model e não sei de onde o hibernate tá tirando isso… Por isso acho que poderia ser alguma coisa relacionado a Seralizable… já que é uma entidade…

romarcio

Essa entidade UnidadeOperacional está mapeada com anotações ou com hbm.xml?

Se for com hbm.xml, lé no xml vc seta o pacote da classe, dai talvez lá não tenha sido alterado. Nas anotações eu não sei, pq não uso anotações com hibernate.

Outra lugar onde pode estar errado é no arquivo de configuração, onde vc seta o pacote que contem os mapeamentos para o hibernate encontra-los, seria o hibernate.properties ou o hibernate.cfg.xml.

jayro

romarcio:
Essa entidade UnidadeOperacional está mapeada com anotações ou com hbm.xml?

Se for com hbm.xml, lé no xml vc seta o pacote da classe, dai talvez lá não tenha sido alterado. Nas anotações eu não sei, pq não uso anotações com hibernate.

Outra lugar onde pode estar errado é no arquivo de configuração, onde vc seta o pacote que contem os mapeamentos para o hibernate encontra-los, seria o hibernate.properties ou o hibernate.cfg.xml.

Seto no persistence.xml…

<persistence-unit name="FONTE">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<jta-data-source>java:/SQLServerDatasource</jta-data-source>
		<class>br.com.ce.administracaousuario.model.Setor</class>
		<class>br.com.ce.administracaousuario.model.Sistema</class>
		<class>br.com.ce.administracaousuario.model.Perfil</class>
		<class>br.com.ce.administracaousuario.model.Tarefa</class>
		<class>br.com.ce.administracaousuario.model.Modulo</class>
		<class>br.com.ce.administracaousuario.model.UnidadeOperacional</class>
		<class>br.com.ce.administracaousuario.model.Usuario</class>
		<class>br.com.ce.administracaousuario.model.AdministracaoRegional</class>
		<class>br.com.ce.administracaousuario.model.UnidadeOperacionalAprovacao</class>
		<class>br.com.ce.administracaousuario.model.UsuarioAtivacaoSistema</class>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
			<property name="hibernate.hbm2ddl.auto" value="update" />
			<property name="hibernate.show_sql" value="false" />
			<property name="hibernate.format_sql" value="false" />
			<property name="jboss.entity.manager.factory.jndi.name"
				value="java:/FONTEEntityManagerFactory" />
		</properties>
	</persistence-unit>

Uso anotações e não o arquivo para o mapeamento das entidades…

jayro

Membros,

procurando alguma coisa que podesse está causando o problema descrito, encontrei o problema. O script que gerava o .ear estava coiando o antigo projeto para dentro das libs do projeto .ear e eu n tinha percebido. Após retirar as libs antigas, o negócio passou a funfar.

Vlw pessoal !

:slight_smile:

romarcio

Puxa, e isso faz o cara perder um tempão, que bom que resolveu.

Criado 7 de fevereiro de 2011
Ultima resposta 9 de fev. de 2011
Respostas 6
Participantes 2