NamedQuery

6 respostas
joede.fadel

como q eu faço pra acessar os mamedQuery por outra classe :?:

@NamedQueries( { @NamedQuery(name = "Class.findByIdlocal", query = "SELECT c FROM Class c WHERE c.idlocal = :idlocal"), @NamedQuery(name = "Class.findByNome", query = "SELECT c FROM Class c WHERE c.nome = :nome") })

6 Respostas

nbluis

Reflection ??

T

Ué, como assim??? rs

joede.fadel

deixa eu ser mais especifico tenho uma classe despesas, que esta mapeada do banco.

@Entity
@Table(name = "despesa")
@NamedQueries( {
        @NamedQuery(name = "Despesa.findByIddespesa", query = "SELECT d FROM Despesa d WHERE d.iddespesa = :iddespesa"),
        @NamedQuery(name = "Despesa.findByNome", query = "SELECT d FROM Despesa d WHERE d.nome = :nome"),
        @NamedQuery(name = "Despesa.findByDataVencimento", query = "SELECT d FROM Despesa d WHERE d.dataVencimento = :dataVencimento"),
        @NamedQuery(name = "Despesa.findByDataCompra", query = "SELECT d FROM Despesa d WHERE d.dataCompra = :dataCompra")
    })
public class Despesa implements Serializable {

    @Id
    @Column(name = "iddespesa", nullable = false)
    private Integer iddespesa;

    @Column(name = "nome", nullable = false)
    private String nome;

    @Column(name = "dataVencimento", nullable = false)
    @Temporal(TemporalType.DATE)
    private Date dataVencimento;

    @Column(name = "dataCompra", nullable = false)
    @Temporal(TemporalType.DATE)
    private Date dataCompra;

    @JoinTable(name = "itemdespesa", joinColumns =  {
            @JoinColumn(name = "iddespesa", referencedColumnName = "iddespesa")
        }, inverseJoinColumns =  {
            @JoinColumn(name = "idlocal", referencedColumnName = "idlocal")
        })
    @ManyToMany
    private Collection<Local> idlocalCollection;

    @JoinColumn(name = "idtipodespesa", referencedColumnName = "idtipodespesa")
    @ManyToOne
    private Tipodespesa idtipodespesa;
    
    /** Creates a new instance of Despesa */
    public Despesa() {
    }

    /**
     * Cria uma nova instância de Despesa com os valores especificados.
     * @param iddespesa o iddespesa do Despesa
     */
    public Despesa(Integer iddespesa) {
        this.iddespesa = iddespesa;
    }

    /**
     * Cria uma nova instância de Despesa com os valores especificados.
     * @param iddespesa o iddespesa do Despesa
     * @param nome o nome do Despesa
     * @param dataVencimento o dataVencimento do Despesa
     * @param dataCompra o dataCompra do Despesa
     */
    public Despesa(Integer iddespesa, String nome, Date dataVencimento, Date dataCompra) {
        this.iddespesa = iddespesa;
        this.nome = nome;
        this.dataVencimento = dataVencimento;
        this.dataCompra = dataCompra;
    }

    /**
     * Define o iddespesa deste Despesa.
     * @return o iddespesa
     */
    public Integer getIddespesa() {
        return this.iddespesa;
    }

    /**
     * Define o iddespesa deste Despesa para o valor especificado.
     * @param iddespesa o novo iddespesa
     */
    public void setIddespesa(Integer iddespesa) {
        this.iddespesa = iddespesa;
    }

    /**
     * Define o nome deste Despesa.
     * @return o nome
     */
    public String getNome() {
        return this.nome;
    }

    /**
     * Define o nome deste Despesa para o valor especificado.
     * @param nome o novo nome
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * Define o dataVencimento deste Despesa.
     * @return o dataVencimento
     */
    public Date getDataVencimento() {
        return this.dataVencimento;
    }

    /**
     * Define o dataVencimento deste Despesa para o valor especificado.
     * @param dataVencimento o novo dataVencimento
     */
    public void setDataVencimento(Date dataVencimento) {
        this.dataVencimento = dataVencimento;
    }

    /**
     * Define o dataCompra deste Despesa.
     * @return o dataCompra
     */
    public Date getDataCompra() {
        return this.dataCompra;
    }

    /**
     * Define o dataCompra deste Despesa para o valor especificado.
     * @param dataCompra o novo dataCompra
     */
    public void setDataCompra(Date dataCompra) {
        this.dataCompra = dataCompra;
    }

    /**
     * Define o idlocalCollection deste Despesa.
     * @return o idlocalCollection
     */
    public Collection<Local> getIdlocalCollection() {
        return this.idlocalCollection;
    

    /**
     * Define o idlocalCollection deste Despesa para o valor especificado.
     * @param idlocalCollection o novo idlocalCollection
     */
    public void setIdlocalCollection(Collection<Local> idlocalCollection) {
        this.idlocalCollection = idlocalCollection;
    }

    /**
     * Define o idtipodespesa deste Despesa.
     * @return o idtipodespesa
     */
    public Tipodespesa getIdtipodespesa() {
        return this.idtipodespesa;
    }

    /**
     * Define o idtipodespesa deste Despesa para o valor especificado.
     * @param idtipodespesa o novo idtipodespesa
     */
    public void setIdtipodespesa(Tipodespesa idtipodespesa) {
        this.idtipodespesa = idtipodespesa;
    }

    /**
     * Retorna um valor de código hash para o objeto.  Esta implementação computa
     * um valor de código hash baseado nos campos id deste objeto.
     * @return um valor de código hash para este objeto.
     */
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (this.iddespesa != null ? this.iddespesa.hashCode() : 0);
        return hash;
    }

    /**
     * Determina se outro objeto é igual a este Despesa.  O resultado é
     * <code>true</code> se e somente se o argumento não for nulo e for um objeto Despesa o qual
     * tem o mesmo valor para o campo id como este objeto.
     * @param object o objeto de referência com o qual comparar
     * @return <code>true</code> se este objeto é o mesmo como o argumento;
     * <code>false</code> caso contrário.
     */
    @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 Despesa)) {
            return false;
        }
        Despesa other = (Despesa)object;
        if (this.iddespesa != other.iddespesa && (this.iddespesa == null || !this.iddespesa.equals(other.iddespesa))) return false;
        return true;
    }

    /**
     * Retorna uma representação literal deste objeto.  Esta implementação cria
     * uma representação baseada nos campos id.
     * @return uma representação literal deste objeto.
     */
    @Override
    public String toString() {
        return "asd.Despesa[iddespesa=" + iddespesa + "]";
    }
    
}

como que faço para utilizar essa queries em outra classe

nbluis

Pera ai, mas porque tu quer acessar a query em outra classe.
Quer fazer a mesma query para outro Entity ??

joede.fadel

quere utilizar para fazer um relatorio e motrar em uma jTable.
é mais e tambem mais por curiosidade como que faz pra chamar essas namequeries.

não quero fazer a msma query em outro entity quero utilizar a query da classe sem
pecisar criar em outro entity

joede.fadel

ou é não é muito usual fazer isso?

Criado 18 de outubro de 2007
Ultima resposta 18 de out. de 2007
Respostas 6
Participantes 3