Duvida em JSF

Fala pessoal estou com uma duvida em jsf. Tenho duas Tabelas que sao Livro e Editora.
Elas se relacionam, preciso fazer um form que ao cadastrar um livro o campo editora me traga os dados do banco.
Como fa’co este medodo para ele trazer todas as editoras cadastradas?
Obrigado

Vc está utilizando JPA? Hibernate? JDBC?

Desculpa a falta de informacao.
Estou usando Hibernate.
Grato

não sei como esta a estrutura de seu projeto, como você fez ai, mas é + ou - assim:

se usar uma interface genérica

public interface DAOFactoryService<K, E> {
	
    //This method is used to return the E elements in the SGDB
    List<E> getElements();
	
}

aqui a implementação do método que você quer

    /**
     * This method return all Elements in the SGDB
     */
    @Override
    public List<E> getElements() {

        EntityManagerFactory factory = Persistence.createEntityManagerFactory("persistence");
	EntityManager manager = factory.createEntityManager();
	Query query = null;
            try {
                query = manager.createQuery("select e from br.com.seuprojeto.modelo.dominio."+elemento+" e ");
                manager.getTransaction().begin();
                manager.getTransaction().commit();
                } catch (IllegalStateException e) {
                  System.out.println(e.getMessage());
                } catch (RollbackException e) {
                  System.err.println(e.getMessage());
                }
	return query.getResultList();
    }

Obs: lembrando aque assim a cada requisição você esta criando uma entitymanager, abre a transação e comita, hoje utilizo CDI, da uma olhada na spec

http://blogs.oracle.com/enterprisetechtips/entry/using_cdi_and_dependency_injection

Bom vamos la
Tenho a interface EditoraDao com o sequinte codigo

package Dao;

import Controller.Editora;
import java.util.List;

/**
 *
 * @author Fred
 */
public interface EditoraDao {
    public void save(Editora editora);
    public Editora getEditora(long id);
    public List<Editora> list();
    public void remove(Editora editora);
    public void update(Editora editora);
    public interface DAOFactoryService<K, E> {

        //This method is used to return the E elements in the SGDB
        List<E> getElements();

    }

}

Ai tenho a classe EditoraDaoImp

import Model.Editora;
import Utils.HibernateUtil;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import javax.persistence.RollbackException;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *
 * @author Fred
 */
public class EditoraDaoImp implements EditoraDao {
        public void save(Editora editora) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        session.save(editora);
        t.commit();
    }
    public Editora getEditora(long id) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        return (Editora) session.load(Editora.class, id);
    }
    public List<Editora> list() {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        List lista = session.createQuery("from editora").list();
        t.commit();
        return lista;
    }
    public void remove(Editora editora) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        session.delete(editora);
        t.commit();
    }
    public void update(Editora editora) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        session.update(editora);
        t.commit(); 
  
   }


}

Meu controller esta assim

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Controller;

import Dao.EditoraDao;
import Dao.EditoraDaoImp;
import Model.Editora;
import java.awt.event.ActionEvent;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

/**
 *
 * @author Fred
 */
@ManagedBean
@SessionScoped
public class EditoraController {
    private Editora editora;
    private DataModel listaEditoras;

    public DataModel getListarEditoras() {
        List<Editora> lista = new EditoraDaoImp().list();
        listaEditoras = new ListDataModel(lista);
        return listaEditoras;
    }

    public Editora getEditora() {
        return editora;
    }

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

    public void prepararAdicionarEditora(ActionEvent actionEvent){
        editora = new Editora();
    }

    public void prepararAlterarEditora(ActionEvent actionEvent){
        editora = (Editora)(listaEditoras.getRowData());
    }

    public String excluirEditora(){

        Editora editoraTemp = (Editora)(listaEditoras.getRowData());
        EditoraDao dao = new EditoraDaoImp();
        dao.remove(editoraTemp);
        return "index";

    }

    public void adicionarEditora(ActionEvent actionEvent){

        EditoraDao dao = new EditoraDaoImp();
        dao.save(editora);

    }

    public void alterarLivro(ActionEvent actionEvent){

        LivroDao dao = new LivroDaoImp();
        dao.update(livro);

    }
}

Desculpa a minha ignorancia mais nao entendi onde por este codigo que me passou!

opa brother, desculpe é que eu uso o Hibernate apenas como provider do JPA, o seu método List que vc fez esta certo, qual é o problema ? a Data table não é populada ?
o que notei é que seu import para a Action esta errado import java.awt.event.ActionEvent; o correto seria import javax.faces.event.ActionEvent;

Fala brother fiz assim nojsf

 <h:selectOneMenu id="editora" value="#{editoraController.editora.nome}">
                    <f:selectItems value="#{editoraController.listarEditoras}" />
                   </h:selectOneMenu>

Ao executar da o sequinte erro:

org.hibernate.hql.ast.QuerySyntaxException: editora is not mapped [from editora]
	at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158)
	at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87)
	at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
	at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:255)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
	at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
	at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
	at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
	at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
	at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
	at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
	at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
	at Dao.EditoraDaoImp.list(EditoraDaoImp.java:37)
	at Controller.EditoraController.getListarEditoras(EditoraController.java:29)
	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 javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:123)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:102)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
	at javax.faces.component.UISelectItems.getValue(UISelectItems.java:129)
	at com.sun.faces.renderkit.SelectItemsIterator.initializeItems(SelectItemsIterator.java:202)
	at com.sun.faces.renderkit.SelectItemsIterator.hasNext(SelectItemsIterator.java:135)
	at com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:760)
	at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:842)
	at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:296)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:295)
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848)
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:56)
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:44)
	at org.primefaces.component.dialog.DialogRenderer.encodeMarkup(DialogRenderer.java:114)
	at org.primefaces.component.dialog.DialogRenderer.encodeEnd(DialogRenderer.java:48)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1620)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:380)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
	at java.lang.Thread.run(Thread.java:619)

Ainda não conseguir resolver este erro