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:
session bean: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; } ........
adesso mi trovo di fronte a questa situazione: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(); }
entity (che per il momento non mi sembra cambiato)
ed il session (qua vengono i problemi):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; } ......
La mi domanda è molto stupida: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); } }
Ma dove stanno i metodi dove scrivere le query al db?
grazie a tutti

Rispondi quotando