Começando JSF + JPA

7 views
Skip to first unread message

Cgraco

unread,
Mar 18, 2011, 2:34:15 PM3/18/11
to javasf: JavaServer Faces Group

Boa tarde pessoal,

tô começando a estudar JSF e desenvolvendo uma aplicação de teste com
o Netbeans 6.9.1 o banco é MySQL.

Any help are welcome..

Ao tentar fazer um simples insert com JPA (provider= Hibernate)
acontece esse erro:

INFO: Not binding factory to JNDI, no JNDI name configured
WARNING: RAR5117 : Failed to obtain/create connection from connection
pool [ mysql_magento_rootPool ]. Reason :
com.sun.appserv.connectors.internal.api.PoolingException
WARNING: RAR5114 : Error allocating connection : [Error in allocating
a connection. Cause: null]
WARNING: SQL Error: 0, SQLState: null
SEVERE: Error in allocating a connection. Cause: null
SEVERE: javax.persistence.PersistenceException:
org.hibernate.exception.GenericJDBCException: Cannot open connection
at
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:
637)
at
org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:41)
at dao.UsuarioDAO.add(UsuarioDAO.java:35)
at controller.UsuarioMB.add(UsuarioMB.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:234)
at
com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at
com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:
98)
at
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:
88)
at
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:
102)
at javax.faces.component.UICommand.broadcast(UICommand.java:
315)
at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)
at
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:
1267)
at
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:
82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:
312)
at
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:
1523)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
279)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
188)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:
97)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:
85)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
185)
at
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:
325)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
226)
at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:
165)
at
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:
791)
at
com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at
com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:
170)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:
135)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
102)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
88)
at
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:
76)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:
53)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:
57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool
$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool
$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)


Persistence.xml :

<?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="MagentoPU" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/magento</jta-data-source>
<class>model.Usuario</class>
<properties>
<property name="hibernate.dialect"
value="org.hibernate.dialect.MySQLInnoDBDialect"/>
<property name="hibernate.connection.driver_class"
value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.url" value="jdbc:mysql://
localhost/magento"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value=""/>
'
</properties>
</persistence-unit>
</persistence>

UsuarioMb.java

@ManagedBean
public class UsuarioMB {

private Usuario usuario;

private UsuarioDAO usuarioDAO;

public UsuarioMB(){
usuario = new Usuario();

}

public Usuario getUsuario() {
return usuario;
}

public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}

public UsuarioDAO getUsuarioDAO() {
return usuarioDAO;
}

public void setUsuarioDAO(UsuarioDAO usuarioDAO) {
this.usuarioDAO = usuarioDAO;
}

public void add(){
usuarioDAO = new UsuarioDAO();
usuarioDAO.add(usuario);
}

}

UsuarioDAO.java

public class UsuarioDAO {

EntityManagerFactory emf;

EntityManager em;

public UsuarioDAO(){
emf = Persistence.createEntityManagerFactory("MagentoPU");
}

public EntityManager getEntityManager(){
return emf.createEntityManager();
}

public void add(Usuario usuario){
try{
em = getEntityManager();
em.getTransaction().begin();
em.persist(usuario);
em.getTransaction().commit();
}catch(Exception e){
em.getTransaction().rollback();
e.printStackTrace();
}
finally{
em.close();
}
}

}


@Entity
@Table(name="usuario")
public class Usuario implements Serializable{

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
private int id;

@Column(name="login")
private String login;

@Column(name="senha")
private String senha;



Index.xtml:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form>
<h:outputLabel for="login" value="Login"/>
<h:inputText id="login" value="#{usuarioMB.usuario.login}"/
><br/>
<h:outputLabel for="senha" value="Senha"/>
<h:inputText id="senha" value="#{usuarioMB.usuario.senha}"/
><br/>
<h:commandButton value="Salvar" action="#{usuarioMB.add}"/
>
</h:form>
</h:body>
</html>



--

Atenciosamente,

Caio Graco Carvalho Moraes
Graduando em Análise e Desenvolvimento de Sistemas - IFRN
Reply all
Reply to author
Forward
0 new messages