NEl package entity ho:
utente.java
codice:
package entity;
import java.io.Serializable;
import java.util.Collection;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
*
* @author Silverio
*/
@Entity
@Table(name = "utente")
@NamedQueries({
@NamedQuery(name = "Utente.findAll", query = "SELECT u FROM Utente u"),
@NamedQuery(name = "Utente.findByUtId", query = "SELECT u FROM Utente u WHERE u.utId = :utId"),
@NamedQuery(name = "Utente.findByUtNome", query = "SELECT u FROM Utente u WHERE u.utNome = :utNome"),
@NamedQuery(name = "Utente.findByUtEmail", query = "SELECT u FROM Utente u WHERE u.utEmail = :utEmail"),
@NamedQuery(name = "Utente.findByUtIndi", query = "SELECT u FROM Utente u WHERE u.utIndi = :utIndi"),
@NamedQuery(name = "Utente.findByUtCc", query = "SELECT u FROM Utente u WHERE u.utCc = :utCc"),
@NamedQuery(name = "Utente.findByUtData", query = "SELECT u FROM Utente u WHERE u.utData = :utData"),
@NamedQuery(name = "Utente.findByUtTel", query = "SELECT u FROM Utente u WHERE u.utTel = :utTel")})
public class Utente implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "ut_id")
private Integer utId;
@Basic(optional = false)
@Column(name = "ut_nome")
private String utNome;
@Column(name = "ut_email")
private String utEmail;
@Column(name = "ut_indi")
private String utIndi;
@Column(name = "ut_cc")
private String utCc;
@Column(name = "ut_data")
@Temporal(TemporalType.DATE)
private Date utData;
@Column(name = "ut_tel")
private String utTel;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "utenteUtId")
private Collection<Prodotto> prodottoCollection;
public Utente() {
}
public Utente(Integer utId) {
this.utId = utId;
}
public Utente(Integer utId, String utNome) {
this.utId = utId;
this.utNome = utNome;
}
public Integer getUtId() {
return utId;
}
public void setUtId(Integer utId) {
this.utId = utId;
}
public String getUtNome() {
return utNome;
}
public void setUtNome(String utNome) {
this.utNome = utNome;
}
public String getUtEmail() {
return utEmail;
}
public void setUtEmail(String utEmail) {
this.utEmail = utEmail;
}
public String getUtIndi() {
return utIndi;
}
public void setUtIndi(String utIndi) {
this.utIndi = utIndi;
}
public String getUtCc() {
return utCc;
}
public void setUtCc(String utCc) {
this.utCc = utCc;
}
public Date getUtData() {
return utData;
}
public void setUtData(Date utData) {
this.utData = utData;
}
public String getUtTel() {
return utTel;
}
public void setUtTel(String utTel) {
this.utTel = utTel;
}
public Collection<Prodotto> getProdottoCollection() {
return prodottoCollection;
}
public void setProdottoCollection(Collection<Prodotto> prodottoCollection) {
this.prodottoCollection = prodottoCollection;
}
@Override
public int hashCode() {
int hash = 0;
hash += (utId != null ? utId.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 Utente)) {
return false;
}
Utente other = (Utente) object;
if ((this.utId == null && other.utId != null) || (this.utId != null && !this.utId.equals(other.utId))) {
return false;
}
return true;
}
@Override
public String toString() {
return "entity.Utente[utId=" + utId + "]";
}
}
Io ho questo dentro il package session
UtenteFacade.java
codice:
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
/**
*
* @author Silverio
*/
@Stateless
public class UtenteFacade {
@PersistenceContext(unitName = "whishlistDBPU")
private EntityManager em;
public void create(Utente utente) {
em.persist(utente);
}
public void edit(Utente utente) {
em.merge(utente);
}
public void remove(Utente utente) {
em.remove(em.merge(utente));
}
public Utente find(Object id) {
return em.find(Utente.class, id);
}
public List<Utente> findAll() {
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
cq.select(cq.from(Utente.class));
return em.createQuery(cq).getResultList();
}
public List<Utente> findRange(int[] range) {
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
cq.select(cq.from(Utente.class));
Query q = em.createQuery(cq);
q.setMaxResults(range[1] - range[0]);
q.setFirstResult(range[0]);
return q.getResultList();
}
public int count() {
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
Root<Utente> rt = cq.from(Utente.class);
cq.select(em.getCriteriaBuilder().count(rt));
Query q = em.createQuery(cq);
return ((Long) q.getSingleResult()).intValue();
}
}
Posto anche il file persistent.xml
codice:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persisten...stence_2_0.xsd">
<persistence-unit name="whishlistDBPU" transaction-type="JTA">
<jta-data-source>jdbc/whishlistDB</jta-data-source>
<properties>
<property name="eclipselink.logging.level" value="FINEST"/>
</properties>
</persistence-unit>
</persistence>
Pero non ti ho capito per farlo entrare nel foreach devo metterci UtenteFacade????
Grazie!!!
Il metodo lo chiamo nel controllerServlet nella riga :
codice:
public void init() throws ServletException {
getServletContext().setAttribute("utenti", utenteFacade.findAll());
}
utenteFacade.findAll()
giusto???