Caros Amigos.
Consegui funcionar o sistema de busca usando JSF e Hibernate, agora tenho outro desafio na atualização fiz tudo panelGrid do sistema de busca onde a PK que seria ISBN é um link que direciona uma página JSP "atuLivro.jsp"
O direcionamento está correto, não apresenta erros, porém não esta executando update pelo banco de dados
Alguém poderia me ajudar ?
segue abaixo o código fonte.
Médoto pacote LivrariaDAO
public void atualizar(Livros livro){
session = ConnectionLivrariaFactory.getInstance();
Transaction tx = null;
try{
tx = session.beginTransaction();
session.update(livro);
tx.commit();
}catch (HibernateException e){
e.printStackTrace();
//tem objetivo de desfazer a transação
tx.rollback();
}finally{
session.close();
}
------------------------------------------------------------------------
Método LvrosController
public String editar(){
Livros livro = getLivroFromEditOrDelete();
setLivro(livro);
return "editar";
}
public String update(){
InterfaceLivrosDAO idao = new LivrariaDAO();
idao.atualizar(livro);
return "atualizar";
}
----------------------------------------------------------------------------------
Método pacote InterfaceLivroDAO
public abstract void atualizar (Livros livro);
---------------------------------------------------------------------------------
mostrarLivros.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mostrar Livros</title>
</head>
<body>
<f:view>
<h:messages />
<h:form>
<h:dataTable value='#{livrosView.todos}'
var='item' border="1"
cellpadding="2" cellspacing="0">
<f:facet name="header">
<h:outputText value="Mostrar Livros" />
</f:facet>
<h:column>
<f:facet name="header">
<h:outputText value="ISBN" />
</f:facet>
<h:commandLink
action="#{livrosView.editar}"
value="#{item.isbn}"/> //cada registro que apresenta apresenta um link para ser direcionado para atuLivro.jsp
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Título" />
</f:facet>
<h:outputText value="#{item.titulo}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Publicacao em" />
</f:facet>
<h:outputText value="#{item.publicacao}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Excluir Livros" />
</f:facet>
<h:commandLink action="#{livrosView.delete}" value="Excluir" />
</h:column>
</h:dataTable>
<h:commandLink action="#{livrosView.novoLivro}"
value="Cadastrar novo livro" />
</h:form>
</f:view>
</body>
</html>
----------------------------------------------------------------------------------
atulivro.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Atualizar</title>
</head>
<body>
<f:view>
<h:form id="cadastro">
<h:panelGrid columns="2">
<f:facet name="header">
<h:outputText value="Atualizar Livros" />
</f:facet>
<h:outputText value="ISBN:"/>
<h:inputText size="15" id="isbn"
value="#{livrosView.livro.isbn}"
readonly="true"/>
<h:outputText value="Título:" />
<h:inputText size="30" id="titulo"
value="#{livrosView.livro.titulo}" />
<h:outputText value="Edição:" />
<h:inputText size="10" id="edicao"
value="#{livrosView.livro.edicao}" />
<h:outputText value="Publicação:" />
<h:inputText size="10" id="publicacao"
value="#{livrosView.livro.publicacao}" />
</h:panelGrid>
<h:commandButton value="Redefinir"
action="#{livrosView.update}" />
<h:commandButton value="Cancelar" action="mostrar" />
</h:form>
</f:view>
</body>
</html>
------------------------------------------------------------------
faces-config.xml
<navigation-rule>
<display-name>mostrar</display-name>
<from-view-id>/mostrarLivros.jsp</from-view-id>
<navigation-case>
<from-outcome>editar</from-outcome>
<to-view-id>/atuLivro.jsp</to-view-id>
</navigation-case>
</navigation-rule>