Configuração JPA

14 respostas
R

Feras,

estou configurando um projeto usando JPA e esta dando um erro que acredito que seja algo com meu persistence-unit name

estou usando Oracle e meu persistence.xml esta conforme abaixo

<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="HibernateJPAPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <properties>
      <property name="hibernate.connection.username" value="ora"/>
      <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
      <property name="hibernate.connection.password" value="123"/>
      <property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
      <property name="hibernate.connection.dialect" value="org.hibernate.dialect.Oracle9Dialect"/>
      <property name="hibernate.hbm2ddl.auto" value="update"/>
   </properties>
  </persistence-unit>
</persistence>

segue o log do erro

DEPLOYMENTS IN ERROR:
  Deployment "persistence.unit:unitName=#HibernateJPAPU" is in error due to the following reason(s): java.lang.RuntimeException: Specification violation [EJB3 JPA 6.2.1.2] - You have not defined a non-jta-data-source for a RESOURCE_LOCAL enabled persistence context named: HibernateJPAPU

14 Respostas

R

Cadê o datasource?

R

O datasource e um outro xml que tenho que configurar ?

tem um exemplo amigo

R

robsonsan:
O datasource e um outro xml que tenho que configurar ?

tem um exemplo amigo


O datasource é uma tag a mais indicando qual o caminho do seu BD, via JNDI.

Você configurou algum datasource no seu container? (JBoss, Glassfish, etc.)

tem que usar aquele endereço JNDI no persistence.xml<persistence-unit name="HibernateJPAPU" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:/jdbc/datasource</jta-data-source> //Data source aqui

R

Estou usando JBoss não configurei nada lá ainda, o que preciso fazer nele ?

e nessa tag que vc me passou o que seria esse trecho java:/jdbc/datasource

o “datasource” da onde pego

java:/jdbc/datasource

R

é o datasource que você configura no seu servidor,

na tela do administrador do JBoss você consegue configurar os datasources.

R

consigo configurar com o link “http://localhost:8080/” e isso mesmo ?

e se for o nome que eu der no dataSource nessa configuração e o nome que colocarei na tag java:/jdbc/DefaultDS e isso mesmo ?

R

Isso, o nome que você colocar no datasource é o que deve ser usado na tag.

R

depois que vc falou que preciso configurar o dataSource estou alterando o arquivo “hsqldb-ds.xml” que esta no caminho “C:\jboss-5.0.1.GA\server\default\deploy”

e add o jar de conexão do oracle no caminho “C:\jboss-5.0.1.GA\common\lib”

esta correto ?

R

Não sei, não conheço muito bem o JBoss 5, mas você pode tentar e ver o que acontece :slight_smile:

R

fiz isso mas esta dando o erro abaixo

Caused by: org.hibernate.HibernateException: Could not instantiate dialect class
	at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:107)
	at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:65)
	at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:460)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:155)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
	... 50 more
Caused by: java.lang.ClassCastException: org.hibernate.dialect.Oracle10gDialect cannot be cast to org.hibernate.dialect.Dialect
	at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:101)
H

robsonsan:
fiz isso mas esta dando o erro abaixo

Caused by: org.hibernate.HibernateException: Could not instantiate dialect class at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:107) at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:65) at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:460) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:155) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669) ... 50 more Caused by: java.lang.ClassCastException: org.hibernate.dialect.Oracle10gDialect cannot be cast to org.hibernate.dialect.Dialect at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:101)

Vc leu a mensagem de erro?
Vou destacar para te ajudar:

org.hibernate.dialect.Oracle10gDialect cannot be cast to org.hibernate.dialect.Dialect
Note q existe uma configuração errada aí…

R

Li sim amigo… porém já havia feito a alteração anterior nesta linha de configuração porém não resolveu,

estou fazendo um teste tentando conectar no Mysql porém estou com o erro abaixo

08:32:18,746 INFO  [STDOUT] 08:32:18,746 INFO  [TomcatAnnotationLifecycleProvider] Creating instance of br.com.portalsistemaretaguarda.controller.ClienteController
08:32:21,778 INFO  [STDOUT] 08:32:21,778 INFO  [Version] Hibernate Annotations 3.2.1.GA
08:32:21,859 INFO  [STDOUT] 08:32:21,859 INFO  [Environment] Hibernate 3.2.4.sp1
08:32:21,869 INFO  [STDOUT] 08:32:21,869 INFO  [Environment] hibernate.properties not found
08:32:21,877 INFO  [STDOUT] 08:32:21,877 INFO  [Environment] Bytecode provider name : cglib
08:32:21,888 INFO  [STDOUT] 08:32:21,888 INFO  [Environment] using JDK 1.4 java.sql.Timestamp handling
08:32:22,135 INFO  [Version] Hibernate EntityManager 3.4.0.GA
08:32:23,639 INFO  [STDOUT] 08:32:23,637 ERROR [_ErrorPageWriter] An exception occurred
javax.faces.FacesException: Error calling action method of component with id j_id6:idCadastro:j_id59
	at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
	at javax.faces.component.UICommand.broadcast(UICommand.java:143)
	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)
	at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)
	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)
	at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)
	at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.el.EvaluationException: javax.el.ELException: /paginas/cadastro/cadastro.xhtml @42,106 action="#{clienteController.consultar}": javax.persistence.PersistenceException: No Persistence provider for EntityManager named portalEmail
	at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:82)
	at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:57)
	... 35 more
Caused by: javax.el.ELException: /paginas/cadastro/cadastro.xhtml @42,106 action="#{clienteController.consultar}": javax.persistence.PersistenceException: No Persistence provider for EntityManager named portalEmail
	at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:74)
	at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:78)
	... 36 more
Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named portalEmail
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
	at br.com.portalsistemaretaguarda.DAO.FactoryDAO.<init>(FactoryDAO.java:24)
	at br.com.portalsistemaretaguarda.clienteDAO.ClienteDAO.<init>(ClienteDAO.java:10)
	at br.com.portalsistemaretaguarda.controller.ClienteController.consultar(ClienteController.java:38)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:170)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
	at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
	... 37 more
B

cara da uma olhada nesse tropico quem sabe nao t ajuda na parte da configuração

R

Feras,

não havia respondido antes pq estava seguindo o sugestão do ultimo amigo que postou o link acima,

estou com o problema de a aplicação não esta achando meu DataSource que configurei e quando inicio o Jboss 5 o log esta conforme abaixo

08:33:13,490 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

DEPLOYMENTS MISSING DEPENDENCIES:
  Deployment "jboss.ejb:persistencePolicy=database,service=EJBTimerService" is missing the following dependencies:
    Dependency "jboss.jdbc:datasource=DefaultDS,service=metadata" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jdbc:datasource=DefaultDS,service=metadata' **")
    Dependency "jboss.jca:name=DefaultDS,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=DefaultDS,service=DataSourceBinding' **")
  Deployment "jboss.ejb:service=EJBTimerService" is missing the following dependencies:
    Dependency "jboss.ejb:persistencePolicy=database,service=EJBTimerService" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.jca:name=JmsXA,service=ConnectionFactoryBinding" is missing the following dependencies:
    Dependency "jboss.jca:name=JmsXA,service=TxCM" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.jca:name=JmsXA,service=ManagedConnectionFactory" is missing the following dependencies:
    Dependency "jboss.messaging:service=ServerPeer" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.jca:name=JmsXA,service=ManagedConnectionPool" is missing the following dependencies:
    Dependency "jboss.jca:name=JmsXA,service=ManagedConnectionFactory" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.jca:name=JmsXA,service=TxCM" is missing the following dependencies:
    Dependency "jboss.jca:name=JmsXA,service=ManagedConnectionPool" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory" is missing the following dependencies:
    Dependency "jboss.messaging:service=PostOffice" (should be in state "Create", but is actually in state "Configured")
    Dependency "jboss.messaging:service=ServerPeer" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.messaging.connectionfactory:service=ClusteredConnectionFactory" is missing the following dependencies:
    Dependency "jboss.messaging:service=ServerPeer" (should be in state "Create", but is actually in state "Configured")
    Dependency "jboss.messaging:service=PostOffice" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.messaging.connectionfactory:service=ConnectionFactory" is missing the following dependencies:
    Dependency "jboss.messaging:service=PostOffice" (should be in state "Create", but is actually in state "Configured")
    Dependency "jboss.messaging:service=ServerPeer" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.messaging.destination:name=DLQ,service=Queue" is missing the following dependencies:
    Dependency "jboss.messaging:service=ServerPeer" (should be in state "Create", but is actually in state "Configured")
    Dependency "jboss.messaging:service=PostOffice" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.messaging.destination:name=ExpiryQueue,service=Queue" is missing the following dependencies:
    Dependency "jboss.messaging:service=ServerPeer" (should be in state "Create", but is actually in state "Configured")
    Dependency "jboss.messaging:service=PostOffice" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.messaging:service=JMSUserManager" is missing the following dependencies:
    Dependency "jboss.jca:name=DefaultDS,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=DefaultDS,service=DataSourceBinding' **")
  Deployment "jboss.messaging:service=PersistenceManager" is missing the following dependencies:
    Dependency "jboss.jca:name=DefaultDS,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=DefaultDS,service=DataSourceBinding' **")
  Deployment "jboss.messaging:service=PostOffice" is missing the following dependencies:
    Dependency "jboss.jca:name=DefaultDS,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=DefaultDS,service=DataSourceBinding' **")
    Dependency "jboss.messaging:service=ServerPeer" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.messaging:service=ServerPeer" is missing the following dependencies:
    Dependency "jboss.messaging:service=PersistenceManager" (should be in state "Create", but is actually in state "Configured")
    Dependency "jboss.messaging:service=JMSUserManager" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss.mq:service=DestinationManager" is missing the following dependencies:
    Dependency "jboss.messaging:service=ServerPeer" (should be in state "Create", but is actually in state "Configured")
  Deployment "jboss:service=KeyGeneratorFactory,type=HiLo" is missing the following dependencies:
    Dependency "jboss.jca:name=DefaultDS,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=DefaultDS,service=DataSourceBinding' **")
  Deployment "persistence.unit:unitName=#portalEmail" is missing the following dependencies:
    Dependency "jboss.jca:name=dsPortalEmail,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=dsPortalEmail,service=DataSourceBinding' **")

DEPLOYMENTS IN ERROR:
  Deployment "jboss.jca:name=DefaultDS,service=DataSourceBinding" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.jca:name=DefaultDS,service=DataSourceBinding' **
  Deployment "jboss.jca:name=dsPortalEmail,service=DataSourceBinding" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.jca:name=dsPortalEmail,service=DataSourceBinding' **
  Deployment "jboss.jdbc:datasource=DefaultDS,service=metadata" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.jdbc:datasource=DefaultDS,service=metadata' **

08:33:13,505 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
08:33:13,532 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
08:33:13,542 INFO  [ServerImpl] JBoss (Microcontainer) [5.0.1.GA (build: SVNTag=JBoss_5_0_1_GA date=200902231221)] Started in 50s:66ms
Criado 9 de outubro de 2012
Ultima resposta 11 de out. de 2012
Respostas 14
Participantes 4