ciao!

sono un paio d'ore buone che ci combatto e non rieasco a venirne fuori.
allora, ho questa classe che rappresenta la mia tabella:
codice:
@Entity
@Table(name = "states")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "States.findAll", query = "SELECT s FROM States s"),
    @NamedQuery(name = "States.findByStateId", query = "SELECT s FROM States s WHERE s.stateId = :stateId"),
    @NamedQuery(name = "States.findByFkCountry", query = "SELECT s FROM States s WHERE s.fkCountry = :fkCountry"),
    @NamedQuery(name = "States.findByStateName", query = "SELECT s FROM States s WHERE s.stateName = :stateName"),
    @NamedQuery(name = "States.findByStateCode3", query = "SELECT s FROM States s WHERE s.stateCode3 = :stateCode3"),
    @NamedQuery(name = "States.findByStateCode2", query = "SELECT s FROM States s WHERE s.stateCode2 = :stateCode2"),
    @NamedQuery(name = "States.findByStatePublished", query = "SELECT s FROM States s WHERE s.statePublished = :statePublished")})
public class States implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "state_id")
    private Integer stateId;
    @Column(name = "fk_country")
    private Integer fkCountry;
    @Size(max = 64)
    @Column(name = "state_name")
    private String stateName;
    @Size(max = 3)
    @Column(name = "state_code_3")
    private String stateCode3;
    @Size(max = 2)
    @Column(name = "state_code_2")
    private String stateCode2;
    @Column(name = "state_published")
    private Boolean statePublished;

    public States() {
    }

    // getter and setter

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (stateId != null ? stateId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof States)) {
            return false;
        }
        States other = (States) object;
        if ((this.stateId == null && other.stateId != null) || (this.stateId != null && !this.stateId.equals(other.stateId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "cpm.mp.pftest.States[ stateId=" + stateId + " ]";
    }
poi ho questo controller:
codice:
public class StatesController implements Serializable {

    public StatesController(UserTransaction utx, EntityManagerFactory emf) {
        this.utx = utx;
        this.emf = emf;
    }
    private UserTransaction utx = null;
    private EntityManagerFactory emf = null;

    public EntityManager getEntityManager() {
        return emf.createEntityManager();
    }
.................
    public List<States> findStatesEntities() {
        return findStatesEntities(true, -1, -1);
    }

    public List<States> findStatesEntities(int maxResults, int firstResult) {
        return findStatesEntities(false, maxResults, firstResult);
    }

    private List<States> findStatesEntities(boolean all, int maxResults, int firstResult) {
        EntityManager em = getEntityManager();
        try {
            CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
            cq.select(cq.from(States.class));
            Query q = em.createQuery(cq);
            if (!all) {
                q.setMaxResults(maxResults);
                q.setFirstResult(firstResult);
            }
            return q.getResultList();
        } finally {
            em.close();
        }
    }
..............
bene, ma adesso mi manca forse la parte più scema.
non riesco ad integrare tutto questo in una pagina jsf.
ho letto 2000 esemi sul web.
ma, sarà la stanchezza, non riesco a comporre il tutto.
una dritta??