@SuppressWarnings("unchecked")
 public void carregarLivros() {
   EntityManager em = JPAUtil.getEntityManager();
   Query query = em.createNamedQuery(Livro.LIVROS_EM_ESTOQUE_POR_TITULO, Livro.class);
   query.setParameter("tituloLivro", "%" + titulo.toUpperCase() + "%");
   livros = query.getResultList();
   ultimoTituloPesquisado = titulo;
 }
@ManagedBean
public class EditoraBean {
  private Editora editora = new Editora();
  private List<Editora> editoras;
  private EntityManager em = JPAUtil.getEntityManager();

  public EditoraBean() {
    Map<String, String> parametros =
        FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
    String parametroId = parametros.get("id");
    if (parametroId != null) {

      editora = em.find(Editora.class, Long.valueOf(parametroId));
    }
  }

  public String salvar() {

    if (editora.getId() == null) {
      em.persist(editora);
    } else {
      em.merge(editora);
    }
    return "listaAutores.xhml?faces-Redirect = true";
  }

  public List<Editora> getEditoras() {

    if (editoras == null) {
      Query query = em.createQuery("select e from Editora e", Editora.class);
      editoras = query.getResultList();
    }

    return editoras;
  }

  public void excluir(Editora editora) {

    editora = em.merge(editora);
    em.remove(editora);

    editoras = null;
  }

  public Editora getEditora() {
    return editora;
  }

  public void setEditora(Editora editora) {
    this.editora = editora;
  }
}