Boa tarde.
Tenho o Objeto a baixo.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package entidades;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
/**
*
* @author GUILHERME
*/
@Entity
//@Table(name = "embarque", catalog = "malotes", schema = "public")
@Table(name = "embarque", schema = "PUBLIC")
@NamedQueries({@NamedQuery(name = "Embarque.findAll", query = "SELECT e FROM Embarque e"), @NamedQuery(name = "Embarque.findByNumeroEmbarque", query = "SELECT e FROM Embarque e WHERE e.numeroEmbarque = :numeroEmbarque"), @NamedQuery(name = "Embarque.findByNomeMotorista", query = "SELECT e FROM Embarque e WHERE e.nomeMotorista = :nomeMotorista"), @NamedQuery(name = "Embarque.findByNomeFrota", query = "SELECT e FROM Embarque e WHERE e.nomeFrota = :nomeFrota")})
public class Embarque implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "numero_embarque", nullable = false)
private Integer numeroEmbarque;
@Basic(optional = false)
@Column(name = "nome_motorista", nullable = false, length = 50)
private String nomeMotorista;
@Basic(optional = false)
@Column(name = "nome_frota", nullable = false, length = 50)
private String nomeFrota;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "numeroEmbarque")
private List<NotasFiscais> notasFiscaisCollection;
public Embarque() {
}
public Embarque(Integer numeroEmbarque) {
this.numeroEmbarque = numeroEmbarque;
}
public Embarque(Integer numeroEmbarque, String nomeMotorista, String nomeFrota) {
this.numeroEmbarque = numeroEmbarque;
this.nomeMotorista = nomeMotorista;
this.nomeFrota = nomeFrota;
}
public Integer getNumeroEmbarque() {
return numeroEmbarque;
}
public void setNumeroEmbarque(Integer numeroEmbarque) {
this.numeroEmbarque = numeroEmbarque;
}
public String getNomeMotorista() {
return nomeMotorista;
}
public void setNomeMotorista(String nomeMotorista) {
this.nomeMotorista = nomeMotorista;
}
public String getNomeFrota() {
return nomeFrota;
}
public void setNomeFrota(String nomeFrota) {
this.nomeFrota = nomeFrota;
}
public List<NotasFiscais> getNotasFiscaisCollection() {
return notasFiscaisCollection;
}
public void setNotasFiscaisCollection(List<NotasFiscais> notasFiscaisCollection) {
this.notasFiscaisCollection = notasFiscaisCollection;
}
public int contaNumeroNotas() {
return getNotasFiscaisCollection().size();
}
@Override
public int hashCode() {
int hash = 0;
hash += (numeroEmbarque != null ? numeroEmbarque.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 Embarque)) {
return false;
}
Embarque other = (Embarque) object;
if ((this.numeroEmbarque == null && other.numeroEmbarque != null) || (this.numeroEmbarque != null && !this.numeroEmbarque.equals(other.numeroEmbarque))) {
return false;
}
return true;
}
@Override
public String toString() {
return "entidades.Embarque[numeroEmbarque=" + numeroEmbarque + "]";
}
/**
* @return the quantidadeNotasFiscais
*/
}
E quando tento rodar a minha consulta, da erro. Gostaria de chamar o metodo contaNumeroNotas() na consulta, mas não estou conseguindo.
Segue a consulta a baixo.
SELECT e FROM Embarque e where e.contaNumeroNotas > 0 and e.numeroEmbarque >= :embarqueInicial and e.numeroEmbarque <= :embarqueFinal
Tenho como chamar o metodo numa consulta HQL?