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??