Maldito erro- Não encontra a unitName = @PersistenceContext(unitName = Basebarco)

9 respostas
joaopaulolobo

maldito erro- Não encontra a unitName = @PersistenceContext(unitName = Basebarco)

Persistence.xml 
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="UTF-8"?>  
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">  
  
     <persistence-unit name="BaseBarco" transaction-type="JTA">  
          
           <jta-data-source>BaseBarco</jta-data-source>  
          
           <class>br.com.empresa.portal.barco.model.Usuario</class>  
  
                    
</persistence-unit>  
          
</persistence>

e meu DS

view plaincopy to clipboardprint?
<?xml version="1.0" encoding="UTF-8"?>    
<datasources>    
  <local-tx-datasource>    
    <jndi-name>BaseBarco</jndi-name>    
      
    <connection-url>jdbc:mysql://192.168.1.11:3306/dm_estudo</connection-url>    
    <driver-class>com.mysql.jdbc.jdbc2.optional.MysqlDataSource</driver-class>    
      
    <user-name>root</user-name>    
    <password>senha</password>    
  </local-tx-datasource>    
</datasources>

e por fim

view plaincopy to clipboardprint?
@PersistenceContext(unitName = "BaseBarco")  
   private EntityManager em;

Estou usando JBoss 5GA + Eclipse + Hibernate…
Obrigado

o erro geral é esse

view plaincopy to clipboardprint?
<UNKNOWN jboss.j2ee:ear=Deploy.ear,jar=Empresa_Site_Crud.jar,name=BaseBarco,service=EJB3> -> ** UNR  
ESOLVED Demands 'persistence.unit:unitName=Deploy.ear/Empresa_Site_Crud.jar#BaseBarco' **  
  
persistence.unit:unitName=Deploy.ear/Empresa_Site_View.war#BaseBarco -> javax.naming.NameNotFoundEx  
ception: BaseBarco not bound  
  
<UNKNOWN jboss.j2ee:ear=Deploy.ear,jar=Empresa_Site_Component.jar,name=CadastroBeanRemote,service=E  
JB3> -> ** UNRESOLVED Demands 'jndi:Deploy/BaseBarco/remote-br.com.empresa.portal.barco.bean.BaseBa  
rcoBeanRemote' **  
  
persistence.unit:unitName=Deploy.ear/Empresa_Site_Crud.jar#BaseBarco -> javax.naming.NameNotFoundEx  
ception: BaseBarco not bound

Estou empacotando tudo no EAR… war e jars…
Meu persistence.xml esta no meta-inf e meu ds na pasta deploy

Obrigado !!!

9 Respostas

jherimum

vc nao teria que colocar seu persistence.xml em uma pasta de algum modulo ejb ou jar não?
nao tenho certeza, mas acho q no meta-inf do ear não da certo?

joaopaulolobo

Correção… Meu persistence.xml esta dentro do meta-inf do jar do CRUD

pdioniziofilho

Caro Joao Paulo,

te mandei um email, leia-o…

Voce colocou seu ds dentro de “JBOSS_HOME”/service/default/deploy e seu xml termina com “blablabla-ds.xml” ?

mais a principio tente fazer o seguinte:

No seu ds voce tem isso:

....
<local-tx-datasource>     
<jndi-name>BaseBarco</jndi-name>  
.....

entao use em seu persistence.xml ao inves de

.....
<jta-data-source>BaseBarco</jta-data-source>
.....

use isso:

....
<jta-data-source>java:/BaseBarco</jta-data-source>
....

Note que o java:/ é o prefixo do que voce configurou no “blablabla-ds.xml”.

Creio que pode ser isso, tenta ai!

No mais, usei esse JBOSS 5 algumas vezes e não gostei nao, qualquer coisa tente usar o 4.

e me avisa…

[]s

joaopaulolobo

Predo

meu Ds chama= Base_Barco-ds.xml

O codigo inteiro dele é:

<?xml version="1.0" encoding="UTF-8"?>  
<datasources>  
  <local-tx-datasource>  
    <jndi-name>BaseBarcoDS</jndi-name>  
	
    <connection-url>jdbc:mysql://192.168.1.11:3306/dm_estudo</connection-url>  
    <driver-class>com.mysql.jdbc.Driver</driver-class>  
	
    <user-name>root</user-name>  
    <password>senha</password>  
	
		<metadata>  
			<type-mapping>mysqlSQL</type-mapping>  
		</metadata>  
  </local-tx-datasource>  
</datasources>

E o ds esta: C:\java-Eclipse\jboss-5.0.0.GA\server\default\deploy\Base_Barco-ds.xm

Vc falou "Note que o java:/ é o prefixo do que voce configurou no “blablabla-ds.xml”.
Não ta faltando essa configuração Então?

Valeu kra…

pdioniziofilho

exato, ta faltando essa configuracao no seu persistence.xml

Se seu no seu ds ta assim BaseBarcoDS seu

no persistence.xml ficara assim java:/BaseBarcoDS

Ou seja, onde está

.....
<jta-data-source>BaseBarco</jta-data-source>
.....

voce coloca isso:

....
<jta-data-source>java:/BaseBarcoDS</jta-data-source>
....

pra ele conseguir fazer o lookup do seu ds no ENC …

Testa ai!

:wink: :wink: :wink: :wink:

joaopaulolobo

JOVEM PEDRO…

Subiu sem problemas !!!

Esse erro j aé outra coisa,

O pior ja passou… hehe

“javax.servlet.ServletException: javax.ejb.EJBTransactionRolledbackException: javax.persistence.PersistenceException: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): br.com.discover.portal.barco.model.Usuario”

VALEU PEDRO

joaopaulolobo

Ops

joaopaulolobo

Blz… Funfou…

Esse ultimo erro era sobre auto incremento…

Mais agora ta funfando certim…

Vlw Pedro

K

Boa tarde galera,
aproveitando o tópico…
eu já havia feito tudo isto que está escrito, mas mesmo assim estou com problemas, meu persistence.xml não é encontrado.
Na hora que o jboss sobe a aplicação ele aparece com este nome:
“Bound factory to JNDI name: persistence.unit:unitName=NOME_EAR.ear/NOME_MODULO.jar#NOME_PERSISTENCE”.

alguém pode me ajudar?

obrigada

Criado 2 de fevereiro de 2009
Ultima resposta 29 de abr. de 2009
Respostas 9
Participantes 4