Hibernate - Named Querie

1 resposta
Marques

Lista,

Tenho a classe DuplicataPagar que estende Duplicata (vide abaixo trechos do código de cada uma). Porém quando tento executar a named querie recebo esse erro:
Caused by: org.hibernate.QueryParameterException: could not locate named parameter [numeroNF]

Parece-me que a named querie não reconhece os atributos definidos no pai. É isso mesmo?
Alguma dica de como solucionar esse problema, mesmo que usando outra coisa que não named querie?

Muito obrigado,

José Marques
@Entity
@Table(name="duplicata")
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class Duplicata {
	
	private Long idDuplicata;
	private String numeroNF;
	
	@Id @GeneratedValue(strategy=GenerationType.AUTO)
	public Long getIdDuplicata() {
		return idDuplicata;
	}
	public void setIdDuplicata(Long idDuplicata) {
		this.idDuplicata = idDuplicata;
	}
	
	public String getNumeroNF() {
		return numeroNF;
	}
	public void setNumeroNF(String numeroNF) {
		this.numeroNF = numeroNF;
	}	
}
@Entity
@Table(name="duplicatapagar")
@NamedQueries( {
	@NamedQuery(name = "DuplicataPagar.findByNotaFiscal", query = "SELECT d FROM DuplicataPagar d JOIN d.fornecedor f" 
		+ " WHERE f.idPessoa = :idFornecedor AND d.numeroNF = :numDocto")	
})
public class DuplicataPagar extends Duplicata implements Serializable {
	
	private Fornecedor fornecedor;

	@ManyToOne(fetch = FetchType.LAZY)	
	@JoinColumn(name = "idFornecedor")
	public Fornecedor getFornecedor() {
		return fornecedor;
	}	

	public void setFornecedor(Fornecedor fornecedor) {
		this.fornecedor = fornecedor;
	}
}

1 Resposta

contrabando

Cadê o código que chama a NamedQuery?
Como você está passando os parâmetros?

Criado 14 de novembro de 2008
Ultima resposta 14 de nov. de 2008
Respostas 1
Participantes 2