Busca lenta utilizando hasmany
23/06/2016 12:32
Boa dia a todos. Estou com um problema relacionado a pegar um valor que se encontra em outra tabela utilizando HasMany.
Tenho uma tabela de Indicadores e essa tabela se associa com uma outra que guarda seu histórico de valores.
Quero mostrar no index de indicadores ,além de sua informações, tbm seu valor atual, que seria o ultimo registro da tabela "Histórico de valores do Indicador".
Estou fazendo da seguinte forma:
class Indicador {
?String nome
?Date inicioVigencia
?static hasMany = [historicoValores : HistoricoValoresIndicador]
?BigDecimal getValorAtual() {
?historicoValores.asList().last()?.valor
?}
}
class HistoricoValoresIndicador {
?String InicioVigencia
?String fimVigencia
?BigDecimal valor
?static belongs_to = [indicador : Indicador]
}
Apesar de conseguir mostrar o valor atual, está demorando muitos segundos para carregar essas informações. Acredito que seja
pq está ocorrendo uma consulta para cada valor dos indicadores...
Poderiam me indicar uma forma melhor para realizar esse tipo consulta?
Tags:
Grails