ciao a tutti ho scaricato l'ultima versione di netbeans 6.9 e mi sono messo un po a giocarci creandomi una nuova applicazione j2ee(usando il tool interno di netbeans per la creazione della sezione di accesso al db) e qua iniziano un po i problemi:
la situazione che mi trovavo di fronte sino alla 6.8 era la seguente:
entity:
codice:
@Entity
@Table(name = "V_CHECK_DISPACCIO_ELETTRONICO")
@NamedQueries({
@NamedQuery(name = "VCheckDispaccioElettronico.findAll", query = "SELECT v FROM VCheckDispaccioElettronico v"),
@NamedQuery(name = "VCheckDispaccioElettronico.findByFlagNotImgChecked", query = "SELECT v FROM VCheckDispaccioElettronico v WHERE v.flagNotImgChecked = :flagNotImgChecked"),
@NamedQuery(name = "VCheckDispaccioElettronico.findByCheckDate", query = "SELECT v FROM VCheckDispaccioElettronico v WHERE v.checkDate = :checkDate"),
@NamedQuery(name = "VCheckDispaccioElettronico.findById", query = "SELECT v FROM VCheckDispaccioElettronico v WHERE v.id = :id")})
public class VCheckDispaccioElettronico implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "FLAG_NOT_IMG_CHECKED")
private Character flagNotImgChecked;
@Column(name = "CHECK_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date checkDate;
@Basic(optional = false)
@Column(name = "ID")
@Id
private long id;
public VCheckDispaccioElettronico() {
}
public Character getFlagNotImgChecked() {
return flagNotImgChecked;
}
........
session bean:
codice:
@Stateless
public class VCheckDispaccioElettronicoFacade implements VCheckDispaccioElettronicoFacadeLocal {
@PersistenceContext(unitName = "TT-Monitoring-ejbPU")
private EntityManager em;
public void create(VCheckDispaccioElettronico vCheckDispaccioElettronico) {
em.persist(vCheckDispaccioElettronico);
}
public void edit(VCheckDispaccioElettronico vCheckDispaccioElettronico) {
em.merge(vCheckDispaccioElettronico);
}
public void remove(VCheckDispaccioElettronico vCheckDispaccioElettronico) {
em.remove(em.merge(vCheckDispaccioElettronico));
}
public VCheckDispaccioElettronico find(Object id) {
return em.find(VCheckDispaccioElettronico.class, id);
}
public List<VCheckDispaccioElettronico> findAll() {
return em.createQuery("select object(o) from VCheckDispaccioElettronico as o").getResultList();
}
adesso mi trovo di fronte a questa situazione:
entity (che per il momento non mi sembra cambiato)
codice:
@Entity
@Table(name = "HOSTNAMES")
@NamedQueries({
@NamedQuery(name = "Hostnames.findAll", query = "SELECT h FROM Hostnames h"),
@NamedQuery(name = "Hostnames.findById", query = "SELECT h FROM Hostnames h WHERE h.id = :id"),
@NamedQuery(name = "Hostnames.findByHostname", query = "SELECT h FROM Hostnames h WHERE h.hostname = :hostname")})
public class Hostnames implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "ID")
private BigDecimal id;
@Column(name = "HOSTNAME")
private String hostname;
@OneToMany(mappedBy = "hostnames")
private Collection<Sid> sidCollection;
@OneToMany(mappedBy = "hostnames")
private Collection<Ip> ipCollection;
@JoinColumn(name = "ID_PROGETTO", referencedColumnName = "ID")
@ManyToOne
private Progetti progetti;
@OneToMany(mappedBy = "hostnames")
private Collection<Osusers> osusersCollection;
public Hostnames() {
}
public Hostnames(BigDecimal id) {
this.id = id;
}
......
ed il session (qua vengono i problemi):
codice:
@Stateless
public class HostnamesFacade extends AbstractFacade<Hostnames> implements HostnamesFacadeLocal {
@PersistenceContext(unitName = "Machines-ejbPU")
private EntityManager em;
protected EntityManager getEntityManager() {
return em;
}
public HostnamesFacade() {
super(Hostnames.class);
}
}
La mi domanda è molto stupida:
Ma dove stanno i metodi dove scrivere le query al db?
grazie a tutti