estou criando o projeto pelo netbeans e apenas importei o log4j
os beans estão normais:
Livro:
importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.Id;/* * To change this template, choose Tools | Templates * and open the template in the editor. *//** * * @author f1831049 */@EntitypublicclassLivro{@Id@GeneratedValueprivateintid;privateStringnome;privatedoublepreco;privatelongeditora_id;publiclonggetEditora_id(){returneditora_id;}publicvoidsetEditora_id(longeditora_id){this.editora_id=editora_id;}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicdoublegetPreco(){returnpreco;}publicvoidsetPreco(doublepreco){this.preco=preco;}}
Seu persistence.xml me parece ok.
Talvez o persistence.xml esteja na pasta errada?
Ele deve estar na pasta META-INF junto das suas classes e não no META-INF do lado da WEB-INF (numa aplicação web).
Se isso estiver correto, pode ser que esteja faltando algum jar?
Tem o restante da exceção? Seria bom ver a causa dela, que pode ser outra coisa.
como eu disse, os códigos q eu criei são aqueles do 1 post, não alterei nada, o netbeans importou as classes do hibernate + jpa e jsf 2, a unica coisa que eu fiz, foi importar o log4j, que eu baixei do site oficial lá
A
andre.froes
me ajuda a configurar o hibernate + jpa plz?
quais são os jars q eu tenho que importar?
acabei de fazer download do distribution 3.6 do hibernate e vou usar o eclipse.
Como não sei configurar manualmente vai ser de grande ajuda aprender isso também.
E se souberem como configurar o JSF2 eu tb aceito a ajuda
rezende.martins
Olá André,
Na linha 12 da saída do console que você postou há o seguinte WARNING:
Este erro normalmente acontece quando você erra os nomes das propriedades JDBC. Os nomes corretos são:
Certifique-se que não há espaço ou erro de digitação.
H
Hulkmarciano
Olá à todos,
Estou com um problema semelhante numa aplicação JSF + Hiberante. Segue log:
WARNING:StandardWrapperValve[FacesServlet]:PWC1406:Servlet.service()forservletFacesServletthrewexceptionjava.lang.UnsupportedOperationException:TheusermustsupplyaJDBCconnectionListeningfortransportdt_socketataddress:6223atorg.hibernate.connection.UserSuppliedConnectionProvider.getConnection(UserSuppliedConnectionProvider.java:30)atorg.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)atorg.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)atorg.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:118)atorg.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57)atorg.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1293)atorg.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:37)atbr.com.hulkmarciano.bodywebclient.filtro.JPAFilter.doFilter(JPAFilter.java:36)//<<<< Aqui ele informa que pode ser um filtro que criei.atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)atorg.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)atcom.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)atcom.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)atorg.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)atcom.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)atcom.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)atcom.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)atcom.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)atcom.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)atcom.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)atcom.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)atcom.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)atcom.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)atcom.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)atcom.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)atcom.sun.grizzly.ContextTask.run(ContextTask.java:69)atcom.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)atcom.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)atjava.lang.Thread.run(Thread.java:619)
Segue o filtro:
@WebFilter(servletNames={"Faces Servlet"})publicclassJPAFilterimplementsFilter{privateEntityManagerFactoryfactory;@Overridepublicvoidinit(FilterConfigfilterConfig)throwsServletException{this.factory=Persistence.createEntityManagerFactory("bodyWebPU");}@OverridepublicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{EntityManagerentityManager=this.factory.createEntityManager();request.setAttribute("entityManager",entityManager);entityManager.getTransaction().begin();/// Segundo o Netbeans o erro é aquichain.doFilter(request,response);try{entityManager.getTransaction().commit();}catch(Exceptione){entityManager.getTransaction().rollback();}finally{entityManager.close();}}@Overridepublicvoiddestroy(){this.factory.close();}}
Por que não posso utilizar o entityManager.getTransaction().begin(); ? Em geral não utilizo o EntityManagerFactory para pegar a transaction e dar begin, mas estou usando um tuto que peguei e queria usar. Sei que se usasse EJB não precisava do transaction, talvez nem aqui, mas se não utilizar como controlo os comits e os rollback?
H
Hulkmarciano
Ao remover as “getTransaction()” o “bicho roda”, mas sempre que tenta acessar a base da um erro com a mesma assinatura java.lang.UnsupportedOperationException: The user must supply a JDBC connection. Já troquei o driver do mysql e nada.
H
Hulkmarciano
Para resolver tive que retirar as tag bugadas do persistence e utilizar as do hibernate:
Isto me ajudou muito!
Estava com o mesmo problema e resolvi da mesma forma, obrigado colega !
Slunce
Estava com o mesmo problema e, com esta alteração no persistence.xml, consegui resolver
Muito obrigada!
J
jaggsmca325
Eu estava recebendo o mesmo erro, enquanto procura isso no google eu tenho essa página / forum, mas eu não sei Português, então eu usei tradutor do google e encontrei a solução.
pena de erros de digitação.
obrigado.
B
boaz_rsm
Estava com o mesmo problema e, com esta alteração no persistence.xml, consegui resolver
Muito obrigado!
Valeu Hulkmarciano!
R
rbelloti
Alguém poderia me explicar porque assim funciona?
Tenho um projeto web (jboss + jsf) e só funcionou utilizando a api hibernate.connection.
Tenho um outro projeto Java (desktop) e funcionou com a api javax.persistence.jdbc.
Por que isto acontece?
Obrigado.
Hulkmarciano:
Para resolver tive que retirar as tag bugadas do persistence e utilizar as do hibernate: