>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Aula 3 - Hibernate


Boa tarde,
Tento executar a aplicação mas sempre acontece esse erro:

HTTP Status 500 - An exception occurred processing JSP page /index.jsp at line 19

type Exception report

message An exception occurred processing JSP page /index.jsp at line 19

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 19

16: c.setSobrenome("Vital");
17:
18: ClienteDAO dao = new ClienteDAO();
19: dao.salvar(c);
20: %>
21:
22:


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:465)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause

java.lang.IllegalStateException: Transaction not active
org.hibernate.ejb.TransactionImpl.rollback(TransactionImpl.java:82)
teste.ClienteDAO.salvar(ClienteDAO.java:18)
org.apache.jsp.index_jsp._jspService(index_jsp.java:82)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.55 logs.

Os Codigos são:




org.hibernate.ejb.HibernatePersistence
teste.Cliente

















package teste;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="cliente")
public class Cliente {

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

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

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

public Cliente(){

}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public String getSobrenome() {
return sobrenome;
}

public void setSobrenome(String sobrenome) {
this.sobrenome = sobrenome;
}

}






package teste;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class DAO {
private EntityManagerFactory emf;

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

public DAO(){
emf = Persistence.createEntityManagerFactory("sistema");
}
}







package teste;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

public class ClienteDAO extends DAO{

public void salvar(Cliente cliente){
EntityManager em = getEntityManager();

try{
em.getTransaction().begin();
em.persist(cliente);
em.getTransaction().commit();
}catch(Exception e){
em.getTransaction().rollback();

}
}

public List exibir(){
EntityManager em = getEntityManager();
try{
Query q = em.createQuery("select objects(c) from Cliente as c");
return q.getResultList();
}finally{
em.close();
}
}
}







<%@page import="teste.Cliente" %>
<%@page import="teste.ClienteDAO" %>
<%@page import="javax.swing.JOptionPane" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>




Insert title here


<%
Cliente c = new Cliente();
c.setNome("Jones");
c.setSobrenome("Vital");

ClienteDAO dao = new ClienteDAO();
dao.salvar(c);
%>