Mapear collection com clausula where

3 respostas
robertwgil

Pessoal, tenho o seguinte mapeamento:

Solicitacao

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "solicitacao")
	public Set<LogMail> getLogMails() {
		return this.logMails;
	}

LogMails

@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idsv", nullable = false)
	public Solicitacao getSolicitacao() {
		return this.solicitacao;
	}

Quando faço:

solicitacaoLoaded.getLogMails();

// O hibernate gera a seguinte query:
select (oscampos) from requisicao.log_mail logmails0_ where logmails0_.idsv=?

Gostaria de colocar mais uma condição na clausula where ou customizar essa query para algo como:

select (oscampos) from requisicao.log_mail logmails0_ where logmails0_.idsv=? AND logmails0_.date > (minha_data)

Pra que isso? Por que estou querendo particionar a tabela de logs e preciso disso na clausula where.

Alguem tem alguma sugestão?

3 Respostas

Hebert_Coelho

E como você está fazendo a consulta atualmente?

Se não estiver, basta utilizar uma NamedQuery. [=

robertwgil

Se for fazer query, criteria eu sei como fazer, o que eu gostaria era que sempre que eu chamar o getter, o lazy gerasse a query customizada.

Hebert_Coelho

robertwgil:
Se for fazer query, criteria eu sei como fazer, o que eu gostaria era que sempre que eu chamar o getter, o lazy gerasse a query customizada.
Até hoje não vi um modo de realizar isso.

Se você conseguir, bota aí. [=

Criado 21 de junho de 2012
Ultima resposta 23 de jun. de 2012
Respostas 3
Participantes 2